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 即可。

  • 相关阅读:
    jquery1.9以上版本如何使用toggle函数
    oracle分区表知识
    oracle删除表以及清理表空间
    oracle查询单表占用空间的大小
    CSS样式案例(2)-制作一个简单的登录界面
    oracle数据库启动
    创业项目
    dataguru试听课程
    从机器学习谈起
    your project contains error(s),please fix them before running your application.错误总结
  • 原文地址:https://www.cnblogs.com/cfinder010/p/3830469.html
Copyright © 2011-2022 走看看