SimpleHttpServer的一个小问题,修了5年!

python 2.5.2 Windows的安装包安装的,在用web.py 0.23,调试的时候当然只用自带的调试web server,其实就是SimpleHTTPServer.py,发现一个怪问题,打开所有页面都有10秒的延迟,浏览器的进度条一直不结束,10秒后才在状态栏上显示完成!终于发现/static/css/下的所有css都下载很慢,但是在cygwin python 2.5.1下,这个问题就没有,linux下的python 2.5.1下也没有问题。查了一下http响应的header,发现Content-Length不对,header报的length比实际的文件字节数大!导致浏览器还在等待实际已经不存在的数据。
很偶然的,从其他项目copy一个css文件过来测试,发现这个文件没有长度不对的问题,对比一下,发现这个文件是Unix格式的lf换行符,再随便改了一个css文件的换行格式,发现长度问题也没有了。

看来真是不能对python提供的库有过高的期望,google一下,看到了这个,[url]http://bugs.python.org/issue839496[/url],居然修了5年,再看看讨论的历史记录,觉得配置管理真的很重要啊!浪费了我3、4个小时。

找到Python\Lib\SimpleHTTPServer.py,我的安装版本在83行,自己改一下。

ctype = self.guess_type(path)
#if ctype.startswith('text/'):
# mode = 'r'
#else:
# mode = 'rb'
try:
# patched on 28 July, 2008 by Steve
#f = open(path, mode)
f = open(path, 'rb')
except IOError:
self.send_error(404, "File not found")
return None


应该所有的使用SimpleHTTPServer的程序都有同样的“小”问题,还是不要浪费大家的时间的好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值