Skip to main content
 首页 » 编程设计

Python:urllib2 处理多个开场白

2025年05月04日17softidea

我必须保留 2 个 urllib2 opener,一个用于直接请求,第二个用于通过代理服务器发出请求,我必须重建请求之间的 opener 开关。

如何将上下文开启器(例如 direct 和 proxy 分开?

请您参考如下方法:

我怀疑您的困惑源于使用 install_opener 和 urllib2.urlopen。相反,只需调用 build_opener 两次并将结果存储在单独的对象中。然后您可以在需要时使用合适的开启器。

例子:

import urllib2 
direct = urllib2.build_opener() 
proxy_handler = urllib2.ProxyHandler({'http': 'http://www.example.com:3128/'}) 
proxied = urllib2.build_opener(proxy_handler) 
 
 
direct.open('http://stackoverflow.com') # opens directly 
proxied.open('http://stackoverflow.com') # opens through proxy