Python 如何使用TOR作为代理?

Python 如何使用TOR作为代理?,python,language-agnostic,proxy,tor,proxies,Python,Language Agnostic,Proxy,Tor,Proxies,我试图使用TOR作为通用代理,但失败了 现在我正在尝试使用python,但我很确定它与任何其他语言都是一样的。我可以用python连接到其他代理,这样我就知道了“应该”怎么做 我找到了TOR条目节点的列表 h = httplib.HTTPConnection("one entry node", 80) h.connect() h.request("GET", "www.google.com") resp = h.getresponse() page = resp.read() 不幸的是,这不起

我试图使用TOR作为通用代理,但失败了

现在我正在尝试使用python,但我很确定它与任何其他语言都是一样的。我可以用python连接到其他代理,这样我就知道了“应该”怎么做

我找到了TOR条目节点的列表

h = httplib.HTTPConnection("one entry node", 80)
h.connect()
h.request("GET", "www.google.com")
resp = h.getresponse()
page = resp.read()
不幸的是,这不起作用,我被重定向到404消息

我只是不确定我做错了什么。可能条目节点列表不能像那样连接。我正在搜索如何正确地执行它,但我没有任何关于如何使用tor编程应用程序的文档

编辑: 扔掉tor代理列表,我不知道为什么我想知道

安装(windows)vidalia客户端和privoxy(全部捆绑为一个)后,“入口节点”就是您自己

变成

httplib.HTTPConnection("127.0.0.1", 8118)

瞧,一切都是通过TOR路由的。首先,确保使用了正确的节点位置和端口。大多数代理使用80以外的端口。其次,在请求字符串上指定与正确URL一起使用的协议

在正常情况下,如果代码看起来像这样,那么代码应该可以工作:

h = httplib.HTTPConnection("138.45.68.134", 8080)
h.connect()
h.request("GET", "http://www.google.com")
resp = h.getresponse()
page = resp.read()
h.close();
您也可以使用套接字作为替代,但这是另一个问题,它甚至比上面的问题更复杂


希望有帮助!:-)

你有这个解决方案并在TOR节点上运行吗?这个解决方案可以与传统的代理一起工作,但不能与TOR节点一起工作,我想我必须封装整个TOR协议HttpLib。HTTPConnection(“127.0.0.1”,8118)也适用于我。我在它设置的浏览器中看到了这个端口,尽管它没有显示在Vidalia设置中。
h = httplib.HTTPConnection("138.45.68.134", 8080)
h.connect()
h.request("GET", "http://www.google.com")
resp = h.getresponse()
page = resp.read()
h.close();