第一个Python Web程序——简单的Web服务器

用Python建立最简单的web服务器:
利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:python -m Web服务器模块 [端口号,默认8000]例如:python -m SimpleHTTPServer 8080然后就可以在浏览器中输入http://localhost:端口号/路径来访问服务器资源。 例如:http://localhost:8080/index.htm(当然index.htm文件得自己创建)其他机器也可以通过服务器的IP地址来访问。这里的“Web服务器模块”有如下三种:
BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServerBaseHTTPRequestHandler。
SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。

自定义处理程序:
Google在http://chart.apis.google.com 上提供了一个将表单数据自动转换为图表的服务。不过,该服务很难交互, 因为你需要将数据作为查询放到URL中。此程序为一种数据格式提供了更好的的接口: 给定一小段文本,它将调用图表服务器来生成二维码(QR码),这是一种编码文本的点格矩阵。 该图像可被你的手机摄像头捕获,并解释为一个字符串,比如URL, 这样就免去了你在狭小的手机键盘上键入URL的麻烦。以下为完整的程序:
import os
import re #引入正则表达式对象
import urllib #用于对URL进行编解码
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
class TestHTTPHandler(BaseHTTPRequestHandler): #处理GET请求
def do_GET(self): #页面输出模板字符串
templateStr = ‘’’

QR Link Generator %s

''' pattern = re.compile(r'/qr\?s=([^\&]+)\&qr=Show\+QR') match = pattern.match(self.path) qrImg = '' if match: qrImg = '
' + 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 Web程序——简单的Web服务器)