• python-web 创建一个输入链接生成的网站


    第一步:写一个自定义程序

    #coding=utf-8

    import os #Python的标准库中的os模块包含普遍的操作系统功能
    import re #引入正则表达式对象
    import urllib #用于对URL进行编解码
    from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler #导入HTTP处理相关的模块


    #自定义处理程序,用于处理HTTP请求
    class TestHTTPHandler(BaseHTTPRequestHandler):
    #处理GET请求
    def do_GET(self):
    #页面输出模板字符串
    templateStr = '''
    <html>
    <head>
    <title>QR Link Generator</title>
    </head>
    <body>
    %s
    <br>
    <br>
    <form action="/qr" name=f method="GET"><input maxLength=1024 size=70
    name=s value="" title="Text to QR Encode"><input type=submit
    value="Show QR" name=qr>
    </form>
    </body>
    </html> '''


    # 将正则表达式编译成Pattern对象
    pattern = re.compile(r'/qr?s=([^&]+)&qr=Show+QR')
    # 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None
    match = pattern.match(self.path)
    qrImg = ''

    if match:
    # 使用Match获得分组信息
    qrImg = '<img src="http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=UTF-8&chl=' + match.group(1) + '" /><br />' + urllib.unquote(match.group(1))

    self.protocal_version = 'HTTP/1.1' #设置协议版本
    self.send_response(200) #设置响应状态码
    self.send_header("Welcome", "Contect") #设置响应头
    self.end_headers()
    self.wfile.write(templateStr % qrImg) #输出响应内容

    #启动服务函数
    def start_server(port):
    http_server = HTTPServer(('', int(port)), TestHTTPHandler)
    http_server.serve_forever() #设置一直监听并接收请求

    os.chdir('static') #改变工作目录到 static 目录 这里改为这个文件的所在目录
    start_server(8000) #启动服务,监听8000端口

    第二步: 运行访问

    在终端执行上面的文件  python server1.py

    在浏览器中访问,查看效果,打开浏览器,输入:http://localhost:8000/,结果如下图:

    在文本框中输入一个URL,如(http://blog.csdn.net/testcs_dn),点击Show QR,会生成一张二维码的图片

    来源:https://blog.csdn.net/testcs_dn/article/details/50449048

  • 相关阅读:
    java实现第三届蓝桥杯填算式
    java实现第三届蓝桥杯填算式
    微信--高效解决token及授权用户openid的持久化处理办法
    微信开发学习总结——微信开发入门(转)
    Java 微信公众号开发--- 接入微信
    微信开发工具类
    手把手教你反编译别人的app
    马士兵hadoop第五课:java开发Map/Reduce(转)
    马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解(转)
    马士兵hadoop第三课:java开发hdfs(转)
  • 原文地址:https://www.cnblogs.com/kaibindirver/p/9963015.html
Copyright © 2020-2023  润新知