0

私はpythonでtorから一意のIPを取得しようとしていますが、時々古いIPを取得しています。5秒の遅延で50回も試しましたが、それでもいつか同じことが得られます。50回の試行で19回の重複があり、 31 ユニークですが、いつでもユニークになりたいです。それとも、限られたものですか?

torproject.org の Vidalia Bundle を使用しています。

見つけた/変更したコードを入力します。

import urllib2
from TorCtl import TorCtl
import time

for i in range(0, 50):
    print "case "+str(i+1)
    conn = TorCtl.connect(passphrase="password11")
    conn.sendAndRecv('signal newnym\r\n')
    conn.close()
    proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"})
    urllib2.install_opener(opener)
    print(urllib2.urlopen("http://www.ifconfig.me/ip").read())
    time.sleep(5)

誰かが助けてくれるかどうか教えてください。また、特定の国からIPのみを取得することが可能かどうかを知りたいのですが、そうです:)

4

1 に答える 1

2

The Tor Project では、出口ノードを明示的に選択することは推奨されていませんが (将来のバージョンでは機能が削除される可能性もあります)、機能は存在します。簡単な概要は、Tor プロジェクトの公式 FAQ にあります。

探している行は「ExcludeExitNodes $fingerprint,$fingerprint,...」です。この行を torrc ファイルに入れ、使用するすべての出口ノードのフィンガープリントを追加することで、Tor への新しい接続ごとに IP が最新であることを確認できます。

あなたの国を選ぶことに関しては、それはずっと簡単です。"ExitNodes {cc}" (これも torrc にあります) を使用するだけです。cc は、IP を取得する国の 2 文字の ISO3166 国コードです。

于 2012-10-29T00:42:24.370 に答える