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

如何说服 Squid 与目标服务器进行 1.1 对话?

有帮助吗?

解决方案

经过一下午的处理这个问题,我找到了解决方案。所以请原谅我回答我自己的问题,但如果其他人发现这很有用并且可以减轻他们的痛苦,那就太好了。

为了让 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. 。只需替换您现有的版本,或将这两个文件放入您的项目中即可。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top