现在我使用以下代码将我的python移植到tor来发送请求:
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9450)
socket.socket = socks.socksocket
我把它放在我的代码前面,然后开始发送请求,我的所有请求都将通过tor发送。
在我的代码中,我需要发送大量请求,但其中只有一个需要实际通过tor。其余的人不必经历tor。
有什么方法可以配置我的代码,以便我可以选择通过tor发送哪些请求,以及哪些请求无需发送?
谢谢
而不是猴子修补套接字,你可以使用requests只是Tor请求。
import requests
import json
proxies = {
'http': 'socks5h://127.0.0.1:9050',
'https': 'socks5h://127.0.0.1:9050'
}
data = requests.get("http://example.com",proxies=proxies).text
或者,如果必须,在将socket.socket
类更改为SOCKS套接字之前保存它,以便在完成使用Tor后将其设置回来。
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9450)
default_socket = socket.socket
socket.socket = socks.socksocket
# do stuff with Tor
socket.socket = default_socket