2012-10-18 49 views
0

我試圖從python獲得獨特的IP地址,但有時候我會得到舊的IP地址,我已經嘗試了50次,並且延遲了5秒,它仍然給我同樣的時間,從50次嘗試我得到19重複和31獨特,但我想得到唯一的時間,或者是受限制?Tor在python中獲得始終唯一的IP地址

我正在使用來自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地址和是獨一無二的:)

+1

我不知道任何Tor支持以任何方式選擇您的出口節點。我可能錯了。您是否閱讀過任何可以讓您認爲該服務支持此功能的內容? –

回答

2

儘管Tor項目建議不要明確選擇出口節點(甚至可能會在未來的版本中刪除該功能),但該功能確實存在。在Tor項目的official FAQ上可以找到簡要的概述。

您正在查找的行是「ExcludeExitNodes $ fingerprint,$ fingerprint,...」。通過將這一行放入torrc文件中,並添加您在使用時使用的每個出口節點的指紋,可以確保每次到Tor的每個新連接都將保留IP。

至於選擇你的國家,那簡單得多。只需使用「ExitNodes {cc}」(也在您的torrc中),其中cc是您希望使用IP的國家/地區的兩個字符ISO3166國家/地區代碼。