继昨天发现wsgi在有点问题而无法使用它来处理web请求后,我在官方文档中看到了一个http.server模块,于是转而研究它而非WSGI。这个模块中有两个重要的类,分别为HTTPServer和BaseHTTPRequestHandler,还有两个示例类,SimpleHTTPRequestHandler,CGIHTTPRequestHandler。还有一个测试方法(test),我参考其中的示例类写了一个HelloWorld程序。上代码:
from http.server import HTTPServer,BaseHTTPRequestHandler
import io,shutil
class MyHttpHandler(BaseHTTPRequestHandler):
def do_GET(self):
r_str="Hello World"
enc="UTF-8"
encoded = ''.join(r_str).encode(enc)
f = io.BytesIO()
f.write(encoded)
f.seek(0)
self.send_response(200)
self.send_header("Content-type", "text/html; charset=%s" % enc)
self.send_header("Content-Length", str(len(encoded)))
self.end_headers()
shutil.copyfileobj(f,self.wfile)
httpd=HTTPServer(('',8080),MyHttpHandler)
print("Server started on 127.0.0.1,port 8080.....")
httpd.serve_forever()
运行代码,成功,浏览器输出正常。
如果将这行代码:
shutil.copyfileobj(f,self.wfile)
改为:
self.wfile.write(r_str)
就会出现昨天的错误。 TypeError: send() argument 1 must be string or buffer, not str
OK,这个错误到此算是有了一个圆满的结局。
各位对于处理web请求还有什么其他的方法麻烦告诉我。唉,又浪费了上班时间,工作了,呵呵,主业不是python。
分享到:
- 2009-03-25 09:58
- 浏览 10269
- 评论(0)
- 论坛回复 / 浏览 (0 / 4005)
- 查看更多
相关推荐
python3.0纯pdf版,适合0基础入门学习python,建议初学者从python3.0上手,会持续更新成一个完整的教程
python3.0廖雪峰python3.0廖雪峰python3.0廖雪峰python3.0廖雪峰python3.0廖雪峰
《机器学习实战》源代码中使用的python2.7 在python3.0中部分是无法使用的,所以这经过了我的调试修改后在python3.0中是可以完美运行的决策树代码 内含数据样本,便于学习
python 3.0 eclipse plugin
python3.0 猜数字小游戏,用python3.0 实现一个猜数字小游戏
这是python 3.0的官方指导手册。
python3.0 Windows 平台。希望对大家有用
python3.0纯pdf版,适合0基础入门学习python,建议初学者从python3.0上手,会持续更新成一个完整的教程
python3.0更新的参考文档,锻炼你的英语水平。绝对的实用,只要你略有English。。。
Python3.0学习笔记, 安装完Python之后(我本机的版本是2.5.4),打开IDLE(Python GUI) , 该程序是Python语言解释器,你写的语句能够立即运行.我们写下一句著名的程序语句。
python基础教程纯pdf版,适合0基础人员学习,对于需要入门python的建议直接上手python3.0,会持续更新成一个整体性的文档
Python3.0 Tutorial 简体中文版 发布! 译者:刘鑫 尹伟铭 Kernel1983 HTML制作:刘鑫
文档内容是 www.runoob.com 官网的离线html文件,便于离线学习菜鸟教程,一共有42和html对应42个学习模块
python3.0爬虫抓取北京天气json
Dive into Python 3.0Dive into Python 3.0Dive into Python 3.0Dive into Python 3.0
《机器学习实战》源代码中使用的python2.7 在python3.0中部分是无法使用的,所以这经过了我的调试修改后在python3.0中是可以完美运行的 朴素贝叶斯代码 内含数据样本,便于学习
This book is updated for the new Python 3.0 language. If you are looking for a tutorial on the current Python 2.x version, please download the previous revision of the book [5]. On the same note, if ...
全名:python-3.0.msi
VS2010的Python插件及Python3.0