这是我到目前为止的代码
import socks import socket import requests import json socks.setdefaultproxy(proxy_type=socks.PROXY_TYPE_SOCKS5, addr="127.0.0.1", port=9050) socket.socket = socks.socksocket data = json.loads(requests.get("http://freegeoip.net/json/").text)
而且效果很好。问题是当我使用.onion网址时显示错误
.onion
无法建立新连接:[Errno -2]名称或服务未知
经过一番研究后,我发现尽管通过tor决议提出了http请求,但仍然在clearnet上出现。什么是正确的方法,这样我也可以通过网络解析域以连接到.onionurl?
tor
尽可能避免猴子打补丁。如果您使用的是现代版本的请求,那么您应该已经具有此功能。
import requests import json proxies = { 'http': 'socks5h://127.0.0.1:9050', 'https': 'socks5h://127.0.0.1:9050' } data = requests.get("http://altaddresswcxlld.onion",proxies=proxies).text print(data)
使用该socks5h://方案指定代理很重要,以便可以通过SOCKS处理DNS解析,以便Tor可以.onion正确解析地址。
socks5h://