当我使用urllib2通过squid代理建立HTTP 1.1连接时,squid在HTTP 1.0中建立了一个新的持续连接。
我如何说服Squid与目标服务器通话1.1?
答案 0 :(得分:3)
在整个下午处理这个问题之后,我找到了解决方案。所以请原谅我回答我自己的问题,但如果其他人发现这个问题会很有用,那就太棒了。这会让他们免除痛苦。
为了让Squid与目标服务器进行HTTP 1.1对话,必须通过HTTP CONNECT完成对它的原始请求。错误http://bugs.python.org/issue1424152中记录了这一点。
py3k有一个修复程序,它已被反向移植到Python 3.1和2.6。
如果您正在安装Python 2.5或2.4,那么您可以在此处下载修补版本的httplib.py和urllib2.py http://pypi.python.org/pypi/httpsproxy_urllib2。只需替换现有版本,或将这两个文件放入项目中即可。