python如何使用Tor Relay处理DNS解析?

时间:2016-09-03 17:19:12

标签: python dns tor

假设这个工作代码:

import win_inet_pton
import socks
import socket
s = socks.socksocket()
s.set_proxy(socks.SOCKS5, "localhost", 9050)
s.connect(("xmh57jrzrnw6insl.onion",80))
s.send("GET / HTTP/1.1\r\n\r\n")
print 'sended'
data=s.recv(1024)
print data

Tor服务确实在端口9050上运行。

在正常情况下,python将通过SOCKS5代理执行DNS解析,SOCKS5代理连接到Tor中继。但是,Tor不处理UDP数据包(它直接从TCP数据包中的主机名处理分辨率),因此DNS解析将失败。

这段代码怎么可能有效呢? (java for exemple中的等效代码将失败,因为无法进行DNS解析)。

1 个答案:

答案 0 :(得分:-1)

此链接中说明了IT:Python requests fails when tryign to connect to .onion site 您只需使用socks5h而不是socks5