我想知道如何在 Python 中通过 Tor 访问网页。
有一些类似的问题,但没有一个是完全回答的,而且很多答案是完全错误的。
我偶然发现的第一页是这个;如何在 Python 中通过 Tor 发出 urllib2 请求?,最流行的答案是;
proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"})
opener = urllib2.build_opener(proxy_support)
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
print opener.open('http://www.google.com').read()
有几页有类似的答案,反正那个页面上有人评论了;
“阅读这个帖子的人可能值得知道端口 8118 实际上是 Privoxy 的端口,而不是 Tor。Tor 是一个严格的 SOCKS-only 代理(端口 9050),因此它拒绝所有非 SOCKS 流量(例如 HTTP)。处理非 SOCKS 流量,您需要使用 Privoxy(端口 8118)或 Polipo(端口 8123)将流量转换为 SOCKS,以便 Tor 接受。
Privoxy 更适合隐私,而 Polipo 更适合性能,因为它会缓存。”
所以这不会让我到任何地方,经过一番搜索后,我在 TOR 上找到了这个 Python urllib?
我下载了socksipy,并尝试了代码。它有效,但我得到了和这个人一样的错误。他的问题没有公认的答案。该帖子来自2011年,我认为我试图澄清一个新问题是有序的。
或者,是否有一个很好的库来处理 Tor?