Python:urllib2处理多个开启者

时间:2010-12-22 13:23:53

标签: python request urllib2 webrequest urllib

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

如何分别保留上下文开启者直接代理

1 个答案:

答案 0 :(得分:6)

我怀疑您的混淆源于使用install_openerurllib2.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