Python代理问题
有没有办法让所有出去的连接都通过一个HTTPS或者SOCKS代理呢?我有一个脚本,它使用了各种API和调用一些使用mechanize/urllib的脚本。我想在我的“主”脚本中设置代理,这个主脚本负责调用所有的API。这样做可以吗?
3 个回答
0
要在 mechanize 中使用 tor,我是用 tor 加上 polipo。首先,在配置文件中设置 polipo,让它使用父代理,具体是 socksParentProxy=localhost:9050。
然后使用
browser.set_proxies({"http": "localhost:8118"})
这里的 8118 是你设置的 polipo 端口。
所以你实际上是在使用 polipo 的 http 代理,它通过 socks 来使用 tor。
希望这对你有帮助 :)
0
就像文档里说的那样,urllib.urlopen()
会查找系统中的代理信息,同时也可以接受一个可选的参数,用来指定要使用的代理。
2
是的,你可以把它放在你的代码里,或者从环境中获取。
你可以看看这里 http://docs.python.org/library/urllib.html
proxies = {'http': 'http://www.someproxy.com:3128'}
filehandle = urllib.urlopen(some_url, proxies=proxies)
或者
$ http_proxy="http://www.someproxy.com:3128"
$ export http_proxy
$ python yourScript.py
或者
$[tsocks][1] yourScript.py