urllib2 を使用して squid プロキシ経由で HTTP 1.1 接続を確立すると、squid は 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からダウンロードできます。既存のバージョンを置き換えるか、これら 2 つのファイルをプロジェクトにドロップするだけです。