zoukankan      html  css  js  c++  java
  • python搭建简易服务器实例参考

    有关python搭建简易服务器的方法。

    需求分析:
    省油宝用户数 已经破了6000,原有的静态报表 已经变得臃肿不堪,
    每次打开都要缓上半天,甚至浏览器直接挂掉
    采用python搭建一个最最简易的 web 服务 请求一个nick
    就返回 对应的 报表数据 参数用GET方式传送

    调研与实现:
    园里没找到靠谱的,google了半天,最终还是成功了。
    以下是源码,里面记录了 其中的 一些问题
    复制代码 代码如下:

    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    """
    @author: zhoujiebin
    @contact: zhoujiebing@maimiaotech.com
    @date: 2012-12-14 15:25
    @version: 0.0.0  www.jbxue.com
    @license: Copyright maimiaotech.com
    @copyright: Copyright maimiaotech.com
    """
    import os
    import sys
    import urllib
    import SimpleHTTPServer
    import SocketServer
    PORT = 8080
    WEBDIR = "/home/zhoujiebing/report_web_service"
    from syb_report_html import get_html
    class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def translate_path(self, path):
    #用于设定根目录
    os.chdir(WEBDIR)
    SimpleHTTPServer.SimpleHTTPRequestHandler.translate_path(self,path)
    def do_GET(self):
    #服务器端响应GET请求的方法
    #问题1 如何拿到客户端的GET参数
    #我找半天没找到,最后__dict__看到path里有路径,只能从路径里 提取参数了
    #从path中提取 GET参数
    nick = self.path[1:]
    #汉字url转码
    nick = str(urllib.unquote(nick))
    if nick != 1:
    report_html = get_html(nick)
    else:
    report_html = 'nick非法'
    print '请求 ' + nick + ' 省油宝计划报表'
    self.send_response(200)
    self.send_header("Content-type", "text/html")
    self.send_header("Content-length", len(report_html))
    self.end_headers()
    self.wfile.write(report_html)
    if __name__ == '__main__':
    try:
    httpd = SocketServer.TCPServer(("", PORT), Handler)
    print "dir %s serving at port %s"%(repr(WEBDIR), PORT)
    #启动服务器 端进程
    httpd.serve_forever()
    except Exception,e:
    print '异常',e

    执行这个程序 web服务程序 就启动了 。
    在浏览器中 输入 ip:8080/nick 即可。

  • 相关阅读:
    C++下遍历文件夹
    pycharm入门的简易使用教程
    easyUI—— datagrid 日期比较天数,小时
    Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天
    js获取一个月份最大天数和获取月的最后一天
    根据样式往里添加动态数据
    在同一个数据库表中添加不同的数据(笛卡尔积)
    修改某个数据可属性值根据三层 BLL
    根据条件删除
    xmlHttp.status的值(HTTP状态表)
  • 原文地址:https://www.cnblogs.com/cfinder010/p/3830469.html
Copyright © 2011-2022 走看看