2009-07-20 33 views
3

私は、スクリプトが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')>私はそれを私が代わりに次のエラーを取得するようになった問題をしようとしたとき)の問題を解決することを目的としているurllib2httplibのためのパッチが含まれています。私が次に試してみたい料理レシピ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() 

多くのおかげ

答えて

1

をあなたはhttplib2に見てみたいことがあります。 モジュールがインストールされている場合、examplesの1つはSOCKSプロキシをサポートしています。

関連する問題