Как может urllib2 / httplib общаться по протоколу HTTP 1.1 для соединений HTTPS через прокси-сервер Squid? - PullRequest
2 голосов
/ 03 декабря 2009

Когда я использую urllib2 для установления соединения HTTP 1.1 через прокси-сервер squid, squid устанавливает новое постоянное соединение в HTTP 1.0.

Как я могу убедить Squid говорить 1.1 с сервером назначения?

1 Ответ

3 голосов
/ 03 декабря 2009

Поработав с этой проблемой целый день, я нашел решение. Поэтому, извините, я отвечаю на свой вопрос, но было бы здорово, если бы кто-то нашел это полезным и это избавило их от боли.

Чтобы 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. Просто замените существующие версии или перетащите эти 2 файла в свой проект. .

...