python - 集成 Tor 和 Python

标签 python proxy socks tor

我想知道如何使用 Python 通过 Tor 访问网页。

有一些类似的问题,但没有一个得到完整的回答,而且很多答案都是完全错误的。

我偶然发现的第一页是这个; How to make urllib2 requests through Tor in Python? ,最流行的答案是;

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 的代理(端口 9050),因此它拒绝所有非 SOCKS 流量(例如 HTTP) .要处理非 SOCKS 流量,您需要使用 Privoxy(端口 8118)或 Polipo(端口 8123)将流量转换为 SOCKS,以便 Tor 接受。

Privoxy 更适合隐私,而 Polipo 更适合性能,因为它可以进行缓存。”

所以这不会让我到任何地方,经过一番搜索后我发现了这个 Python urllib over TOR?

我下载了socksipy,并尝试了代码。它有效,但我得到了与这个人相同的错误。他的问题没有公认的答案。这篇文章是 2011 年的,我想提出一个我试图澄清的新问题。

或者,是否有一个好的库可以处理 Tor?

最佳答案

是的,我们有几个用于 Tor 的 python 库,最常见的是 stemtxtorcon 。有关此类客户端使用的教程,请参阅 here .

关于python - 集成 Tor 和 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423728/

相关文章:

python - 从 Jupyter Notebook 显示和保存 PGF 图

python - 如何使用 django.views.generic.date_based.archive_index 获取前五个对象?

hibernate - 删除grails域对象的代理部分?

c - C 中的 Socks 5 客户端

python - 代理无法通过 SSL 连接工作

java - 如何通过PythonInterpreter访问Python类

python - 类型错误: unsupported operand type(s) for -: 'tuple' and 'tuple'

curl - HTTP_PROXY无法正常工作

java - 运行 Ant 脚本时出现代理问题

python - 在 Tails 上使用 python 包管理器时 Torsocks 连接被拒绝错误