0

我正在尝试从 python 中的 tor 获取唯一 IP,但有时我会得到旧 IP,我已经尝试了 50 次,延迟时间为 5 秒,但它仍然给我同样的时间,从 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

尽管 Tor 项目建议不要明确选择退出节点(甚至可能在未来版本中删除该功能),但该功能确实存在。可以在 Tor 项目的官方常见问题解答中找到简要概述。

您要查找的行是“ExcludeExitNodes $fingerprint,$fingerprint,...”。通过将此行放入您的 torrc 文件中,并在使用它们时添加您使用的每个出口节点的指纹,您可以确保您的 IP 对于与 Tor 的每个新连接都是新鲜的。

至于选择你的国家,那就简单多了。只需使用“ExitNodes {cc}”(也在您的 torrc 中),其中 cc 是您想要 IP 的国家/地区的两个字符 ISO3166 国家/地区代码。

于 2012-10-29T00:42:24.370 回答