使用Pycurl的Tor?

时间:2011-11-24 05:49:28

标签: python pycurl tor

您好我希望我的爬虫使用Pycurl来使用Tor。我怎样才能做到这一点?我知道如何使用httplib

来做到这一点
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()

请帮忙。

1 个答案:

答案 0 :(得分:1)

在Ubuntu上,我能够使用 socks5 代理 tor 使 pycurl 工作:

import pycurl
c = pycurl.Curl()
c.setopt(pycurl.URL, "http://whatismyipaddress.com/")
c.setopt(pycurl.PROXY, "127.0.0.1")
c.setopt(pycurl.PROXYPORT, 9050)
c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
c.perform()

不要忘记安装 tor

sudo apt-get install tor

要检查tor是否已启动,您可以运行网络监视命令:

sudo netstat -lnptu

其中有类似这样的输出。请注意 tor 位于 127.0.0.1:9050 套接字

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:49017           0.0.0.0:*               LISTEN      2701/skype      
tcp        0      0 127.0.0.1:9050          0.0.0.0:*               LISTEN      1810/tor        
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2187/dropbox