我想对Python3 urllib.request.urlopen()使用TOR,但我发现的所有示例都使用Python2。
https://code.google.com/p/socksipy-branch/
我遇到了socksipy,但我无法让它与Python3一起工作,即使它声明分支是兼容的。
我认为Python2是一个socks代理,但是Python3似乎不包括任何像TOR这样的socks库?
有没有人有实用的例子?
发布于 2013-04-10 02:28:07
我建议使用httplib2和socks包通过socks代理进行HTTP请求。
我尝试了很多使用httplib2来做这件事,但是使用urllib要容易得多。
import socks
import httplib2
proxy = httplib2.ProxyInfo(proxy_type=socks.PROXY_TYPE_SOCKS5,
proxy_host='127.0.0.1',
proxy_port=9666)
http = httplib2.Http(proxy_info=proxy, timeout=10)
# do requests
headers, message = http.request(url, "GET", body=body, headers=headers)发布于 2017-06-19 01:20:24
您必须通过套接字执行DNS解析
def getaddrinfo(*args):
return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]
socket.getaddrinfo = getaddrinfo来源:GitHub
https://stackoverflow.com/questions/15909582
复制相似问题