如何在python中仅使用Tor发送某些请求?

问题描述 投票:0回答:1

现在我使用以下代码将我的python移植到tor来发送请求:

socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9450)

socket.socket = socks.socksocket

我把它放在我的代码前面,然后开始发送请求,我的所有请求都将通过tor发送。

在我的代码中,我需要发送大量请求,但其中只有一个需要实际通过tor。其余的人不必经历tor。

有什么方法可以配置我的代码,以便我可以选择通过tor发送哪些请求,以及哪些请求无需发送?

谢谢

python-3.x tor
1个回答
0
投票

而不是猴子修补套接字,你可以使用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
© www.soinside.com 2019 - 2024. All rights reserved.