【发布时间】:2011-05-29 10:02:27
【问题描述】:
我必须保留 2 个 urllib2 开启程序,一个用于直接请求,第二个用于通过代理服务器发出请求,我必须在请求之间重建开启程序切换。
如何分别保留上下文打开器,例如 direct 和 proxy?
【问题讨论】:
标签: python request urllib2 webrequest urllib
我必须保留 2 个 urllib2 开启程序,一个用于直接请求,第二个用于通过代理服务器发出请求,我必须在请求之间重建开启程序切换。
如何分别保留上下文打开器,例如 direct 和 proxy?
【问题讨论】:
标签: python request urllib2 webrequest urllib
我怀疑您的困惑源于使用 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
【讨论】: