如何在Python urllib中忽略Windows代理设置?

6 投票
4 回答
8505 浏览
提问于 2025-04-15 21:38

我希望在使用 urllib 时,Python 能忽略 Windows 的代理设置。我唯一能做到这一点的方法就是在 Internet Explorer 上禁用所有的代理设置。有没有什么编程的方法可以实现这个呢?

os.environ['no_proxy'] 这个方法不太好,因为我想对所有地址都不使用代理。

4 个回答

1

根据文档,你可以传入proxies=None或者proxies={}

urllib.urlopen(some_url, proxies=None)
3

来自urlib2的文档:类urllib2.ProxyHandler([proxies]) ... 如果想要禁用自动检测的代理,可以传递一个空字典。

所以我们想要做的就是这个:

import urllib2
proxy = urllib2.ProxyHandler({}) # Pass empty dictionary to bypass proxy
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
socket = urllib2.urlopen('http://www.google.com')
content = socket.read() 
3

传递给 urlopen 方法

proxies={}

或者试试:

urllib.getproxies = lambda x = None: {}

在导入 urllib 之后直接使用(相关信息可以在 这里 找到)。

撰写回答