私は、スクリプトがhttps url(urllib2.Requestとurllib2.urlopen)に接続し、ページをスクラップし、見つかったものに基づいていくつかのアクションを実行するので、既存のスクリプトに認証プロキシサポートを追加しようとしています。最初は、urllib2.ProxyHandler({"http":MY_PROXY})をargとしてurllib2.build_openerに追加するだけで、これが簡単になることが期待されていました。これはurllib2.install_openerに渡されます。残念ながら、これはurllib2.Request(ANY_HTTPS_PAGE)を実行しようとすると動作しないようです。周りのグーグルでは、urllib2のpython 2.5でのプロキシサポートがhttps urlsをサポートしていないと信じています。これは、私が一番言っても驚いた。urllib2を使って認証プロキシ経由でhttpsページを取得することはできますか?
あり、ウェブの周りに浮いソリューションのように見える、例えばhttp://bugs.python.org/issue1424152は(:urllib2.URLError: <urlopen error (1, 'error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol')>
私はそれを私が代わりに次のエラーを取得するようになった問題をしようとしたとき)の問題を解決することを目的としているurllib2
とhttplib
のためのパッチが含まれています。私が次に試してみたい料理レシピhttp://code.activestate.com/recipes/456195があります。私はこれが「箱から」サポートされていないことに驚いていますが、私は明らかな解決策を見逃しているのだろうかと思っています。つまり、httpsページを取得する簡単な方法がありますPython 2.5でurllib2で認証プロキシを使用していますか?理想的には、これは動作します:
import urllib2
#perhaps the dictionary below needs a corresponding "https" entry?
#That doesn't seem to work out of the box.
proxy_handler = urllib2.ProxyHandler({"http": "http://user:[email protected]:port"})
urllib2.install_opener(urllib2.build_opener(urllib2.HTTPHandler,
urllib2.HTTPSHandler,
proxy_handler))
request = urllib2.Request(A_HTTPS_URL)
response = urllib2.urlopen(request)
print response.read()
多くのおかげ