如何通过Tor在Python中成功访问网站?8118和9050端口无效?
我正在尝试通过Tor用Python访问一个网站,但遇到了一些问题。我开始的时候参考了这个讨论和里面提到的链接:如何在Python中通过Tor使用urllib2发送请求?
首先,我试了原始的代码片段:
import urllib2
proxy_handler = urllib2.ProxyHandler({"tcp":"http://127.0.0.1:9050"})
opener = urllib2.build_opener(proxy_handler)
urllib2.install_opener(opener)
然后我又试了一个答案中修改过的代码,很多人说这个有效。不幸的是,虽然这个代码可以下载页面,但它并没有真正起作用,因为我的IP地址还是没变:
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()
我按照Ubuntu和Tor网站的说明,标准配置了Tor,并且nmap显示Tor的tcp代理在9050端口运行:9050/tcp open tor-socks
。但是,当我运行上面的任何一个脚本时,我的IP地址都没有改变。是Python没有遵循http环境变量,还是我漏掉了什么代码问题?