2

我想将 TOR 与 Python3 urllib.request.urlopen() 一起使用,但我发现的所有示例都使用 Python2。

https://code.google.com/p/socksipy-branch/

我遇到了 socksipy,但即使它声明分支兼容,我也无法让它与 Python3 一起使用。

我认为 TOR 是一个袜子代理,但 Python3 似乎不包含任何像 Python2 这样的袜子库?

有没有人有工作的例子?

4

2 回答 2

0

我建议使用httplib2socks打包通过 socks 代理进行 HTTP 请求。

我用 urllib 做了很多尝试,但使用 httplib2 更容易。

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)
于 2013-04-09T18:28:07.270 回答
0

您必须通过套接字执行 DNS 解析

def getaddrinfo(*args):
  return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]
socket.getaddrinfo = getaddrinfo

来源:GitHub

于 2017-06-18T17:20:24.090 回答