Skip to main content
 首页 » 编程设计

python之在 python 中获取新的 Ip

2025年05月04日8softidea

我目前正在尝试通过 python 获取新的 ip。

我在 stackoverflow 上找到了这个脚本:

import urllib2 
from TorCtl import TorCtl 
 
proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"}) 
opener = urllib2.build_opener(proxy_support)  
 
def newId(): 
    conn = TorCtl.connect(controlAddr="127.0.0.1", controlPort=9051, passphrase="123") 
    conn.send_signal("NEWNYM") 
 
for i in range(0, 10): 
    print "case "+str(i+1) 
    newId() 
    proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"}) 
    urllib2.install_opener(opener) 
    print(urllib2.urlopen("http://www.ifconfig.me/ip").read()) 

我有我的 vidalia 运行和 privoxy。我的设置正确:

在系统首选项中(在 mac 上):

网络代理 (HTTP):127.0.0.1:8118 和 HTTPS 一样

在我的 privoxy 配置文件中有这一行:

 forward-socks5   /               127.0.0.1:9051 . 

在我的 vidalia 设置中,我有:

尽管当我运行代码时它仍然卡在案例 1 上并且我无法获得 ip。 这是我的 vidalia 的日志:

May 04 19:15:27.381 [Notice] New control connection opened. 
May 04 19:15:27.382 [Notice] New control connection opened. 
May 04 19:15:33.709 [Notice] New control connection opened. 
May 04 19:15:38.653 [Notice] New control connection opened. 
May 04 19:15:57.382 [Notice] New control connection opened. 
May 04 19:15:57.463 [Notice] New control connection opened. 
May 04 19:15:57.464 [Notice] New control connection opened. 
May 04 19:16:03.710 [Notice] New control connection opened. 
May 04 19:16:19.656 [Notice] New control connection opened. 
May 04 19:16:22.448 [Notice] New control connection opened. 
May 04 19:16:22.569 [Notice] New control connection opened. 
May 04 19:16:22.900 [Notice] New control connection opened. 
May 04 19:16:27.382 [Notice] New control connection opened. 
May 04 19:16:27.412 [Notice] New control connection opened. 
May 04 19:16:27.413 [Notice] New control connection opened. 

我做错了什么?

编辑:

当配置文件中的行处于事件状态时,我无法加载任何站点。

显然,如果我等待的时间足够长,我会得到一个错误:

urllib2.HTTPError: HTTP Error 503: Forwarding failure 

请您参考如下方法:

它的

forward-socks5   /               127.0.0.1:9050 . 

不是

forward-socks5   /               127.0.0.1:9051 .