2011-02-15 20 views
1

ssh -D localhost:5678 [email protected]でsshトンネルを開いたので、python3アプリケーションで使用したいと思います。 mysite.comのみserver.comのネットワークからアクセスすることができるurllibとプロキシを使用しているWebサイトにアクセスできない

#!/usr/bin/python3.1 
# -*- coding:Utf-8 -*- 

import urllib.request 

proxyhand = urllib.request.ProxyHandler({"socks" : "http://localhost:5678"}) 
opener = urllib.request.build_opener(proxyhand) 
page = opener.open("http://www.mysite.com") 

(私はSSHトンネルを使用する理由です)。

これは制限のない他のウェブサイトにもアクセスしますが、mysite.comでは接続のタ​​イムアウトエラーが発生しています。トンネルは、as explained hereという設定のfirefoxを使用してmysite.comにアクセスできるように動作します。

あなたは、プロトコル、ないsocksとして

答えて

0

http使用する必要がありますありがとう!したがって:

proxyhand = urllib.request.ProxyHandler({"http" : "http://localhost:5678"}) 
+0

"http"では、私は "BadStatusLine"例外をすべてのWebサイトに持っています。 –

+1

SOCKSはSSHリダイレクトに適しています。問題は、 'urllib'にはSOCKSサポートがないということです。あなたはこの作業をするためにジャンプする別のフープを持っているかもしれません。これを試してください:http://stackoverflow.com/questions/2317849/how-can-i-use-a-socks-4-5-proxy-with-urllib2 – jathanism

+0

それはPython 2.x用ですが、動作します。ありがとうございました ! –

関連する問題