urllib2 / httplib如何通过Squid代理与HTTP连接进行HTTP 1.1连接?

时间:2009-12-03 17:59:39

标签: python proxy https urllib

当我使用urllib2通过squid代理建立HTTP 1.1连接时,squid在HTTP 1.0中建立了一个新的持续连接。

我如何说服Squid与目标服务器通话1.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。只需替换现有版本,或将这两个文件放入项目中即可。