Python代理问题

3 投票
3 回答
824 浏览
提问于 2025-04-16 00:25

有没有办法让所有出去的连接都通过一个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

撰写回答