Python:urllib2处理多个开启者

sul*_*tan 1 python webrequest urllib urllib2 request

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

如何分别保持上下文开启,例如直接代理

its*_*dok 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
Run Code Online (Sandbox Code Playgroud)