python搭建简易服务器实例参考

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

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

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

#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
@author: zhoujiebin
@contact: [email protected]
@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 即可。

python搭建简易服务器实例参考,布布扣,bubuko.com

时间: 2024-12-09 11:05:46

python搭建简易服务器实例参考的相关文章

Centos6.4搭建NFS 服务器实例(四)

Centos6.4搭建NFS 服务器实例: 服务器系统 角色 IP CentOS-64-121-server1 NFS服务器端 192.168.1.121 CentOS-64-129-client NFS客户端 192.168.1.129 共享CentOS-64-121-server1中/data/bbs目录,使192.168.1.1 IP段所有主机都可以访问 配置服务端: 首先创建实验环境目录 [[email protected] ~]# mkdir /data/bbs –p [[email 

Centos5.8搭建NFS 服务器实例(三)

Centos5.8搭建NFS 服务器实例: 服务器系统 角色 IP CentOS-5.8-111-server1 NFS服务器端 192.168.1.111 CentOS-5.8-119-client NFS客户端 192.168.1.119 共享CentOS-5.8-111-server1中/data/bbs目录,使192.168.1.1 IP段所有主机都可以访问 配置服务端: 首先创建实验环境目录 [[email protected] ~]# mkdir /data/bbs –p [[ema

python搭建ftp服务器

1 # coding: utf-8 2 import os 3 from pyftpdlib.authorizers import DummyAuthorizer 4 from pyftpdlib.handlers import FTPHandler 5 from pyftpdlib.servers import FTPServer 6 7 def main(): 8 #实例化用户授权管理 9 authorizer = DummyAuthorizer() 10 authorizer.add_us

使用Python搭建简易HTTP服务

废话不多说,我们工作时经常会用到需要HTTP服务,如果不想搞那些复杂的Apache.IIS服务器等,这时我们就可以用python帮我们搭建一个简单的服务器.操作如下: 1.下载并安装一个python(我使用的是2.x版本): 2.然后设置环境变量,在系统属性的系统变量下,双击Path,在变量值后面添加  ;C:\Python27  (以python27为例子,如果你装的是python26就改下后面的数字).不会的去看下面链接: http://jingyan.baidu.com/article/4

python 搭建http服务器和ftp服务器

默认安装版本为pytho2.7 http服务器搭建: 进入要开放访问的目录下,执行命令:python -m SimpleHTTPServer 9000 显示上述表示安装成功,且http服务的端口为:9000,不跟端口默认80端口 通过浏览器访问该http服务: http://localhost:9000 页面显示入下: 服务器端显示如下: 表示接收请求成功. ftp服务器搭建: python不自带ftp服务库,因此需要安装插件: 进入Python27\Scripts目录,执行:pip insta

python搭建简易Web Server

如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python可能帮助你,使用Python可以完成一个简单的内建 HTTP 服务器,于是,你可以把你的目录和文件都以HTTP的方式展示出来,只需要干一件事情,那就是安装一个Python. 实际上来说,这是一个可以用来共享文件的非常有用的方式.实现一个微型的HTTP服务程序来说是很简单的事情,在Python下,只需要一个命令行.下面是这个命令行:(假设我们需要共享我们的目

nodejs 搭建简易服务器

www文件夹下 template文件夹下 server.js代码: const express=require('express'); const static=require('express-static'); //托管静态文件 const cookieParser=require('cookie-parser'); //解析cookie const cookieSession=require('cookie-session'); //解析session const bodyParser=r

Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】

“老板 来碗面” “要啥面?” “内牛满面..” 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发的都知道,最怕弄这种项目portal的东西,你调用一堆东西,结果各种调用报错都反馈到你这里,导致的结果就是除了啥问题都找你. 最形象的比喻就是,眼前一栋楼,你是看门的.电梯坏了找你.住户被盗了找你.连谁家下水不通了也找你,各种无厘头的破事儿,我就想送出一张图… 共享文件 熟悉Python的朋友们都知道,python自带了一个Simple HTTP Serve

基于Nginx搭建Web服务器及虚拟主机相关配置详解

随着计算机与Internet技术的高速发展,各种各样的Web站点也就成为面向用户的中坚力量.在各种网站服务器软件中.除了Apache外,还有一款轻量级的HTTP服务器软件--Nginx. 基于Apache搭建Web服务器可以参考博文:基于Apache搭建Web服务器详解 一.Nginx服务简介 Nginx由俄罗斯的lgor Sysoev开发,专为性能优化而开发,其最知名的优点就是它的稳定性和低系统资源消耗.以及对HTTP并发连接的高处立能力(单台物理服务器可支持30000~50000个并发请求)