2

tor 経由で python で Web サイトにアクセスしようとしていますが、問題が発生しています。私はこのスレッドとそのスレッドで参照されているスレッドから試みを開始しました: How to make urllib2 requests through Tor in Python?

最初に、元のコード スニペットを試しました。

import urllib2
proxy_handler = urllib2.ProxyHandler({"tcp":"http://127.0.0.1:9050"})
opener = urllib2.build_opener(proxy_handler)
urllib2.install_opener(opener)

次に、回答の1つに投稿された変更されたコードを試しましたが、人々はそれがうまくいったと言っていました。残念ながら、コードはページをダウンロードするという点で機能しますが、IP アドレスが同じであるため機能しません。

proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"})
opener = urllib2.build_opener(proxy_support) 
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
print opener.open('http://www.google.com').read()

Ubuntu および TOR サイトのそれぞれのドキュメントに従って、標準構成で TOR をセットアップしました。nmap は、ポート 9050 で実行されている TOR tcp プロキシを示しています。9050/tcp open tor-socksただし、上記のスクリプトのいずれかを実行しても、IP アドレスは変更されません。Python は http 環境変数を尊重していませんか、それとも私が見逃しているコードの問題がありますか?

4

1 に答える 1

2

TOR は SOCKS プロキシを提供します。urllib2 は HTTP プロキシしか処理できないため、SOCKS 実装を使用する必要があります。

于 2011-08-21T17:25:04.710 に答える