【发布时间】:2018-08-24 22:31:31
【问题描述】:
我目前正在尝试遵循我在此处在线找到的脚本:Periodic Tor IP Rotation
我尝试使用的代码如下:
import requests
from stem import Signal
from stem.control import Controller
with Controller.from_port(port = 9051) as controller:
controller.authenticate()
controller.signal(Signal.NEWNYM)
proxies = {
"http": "http://127.0.0.1:8118"
}
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11'
}
r = requests.get("http://icanhazip.com", proxies=proxies, headers=headers)
print(r.text)
但是,我的 ip 地址并没有因此而改变。有谁知道我可以如何修改它?谢谢。
【问题讨论】:
-
你能放弃 Privoxy 并直接使用 Tor 的 SOCKS 代理,如下所示:stackoverflow.com/a/43823166/892493
-
这种情况下privoxy不能用吗?我不太了解什么是有效的。
-
如果你没有将 privoxy 用于 Python 的 HTTP 代理之外的任何东西 -> Tor 那么就没有理由再将它放在 Tor 和 Python 之间了。很久以前,这就是许多示例所使用的,因为请求没有 SOCSK5h 支持,所以它是一个必要的层。现在如果你可以使用 requests[socks] 那么 Privoxy 是不必要的。我不确定这就是为什么您在请求之间看不到 IP 变化的原因,但我很想看看当您直接使用 Tor 的 SOCKS 代理时信号是否有效。
标签: python python-3.x tor stem