现在我正在使用以下代码将我的python移植到tor来发送请求:
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9450)
socket.socket = socks.socksocket
我把它放在我的代码前面,然后开始发送请求,我的所有请求都将通过tor发送。
在我的代码中,我需要发送大量请求,但其中只有一个需要实际通过tor。其余的人不必经历过。
我有什么方法可以配置我的代码,以便我可以选择通过tor发送哪些请求,以及无需发送哪些请求?
由于
答案 0 :(得分:0)
您可以使用foreach
仅用于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