使用python 2.我有一个BasicAuthHandler,它已作为开启者安装,我用来向一个站点发出请求。
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, base_url, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
我现在想要在没有开启者的情况下向另一个网站发出请求。我无法使用请求库,因为我正在使用gooogle应用引擎,我将不得不安装另一个库,以便它与GAE一起正常工作。那么有没有办法在发出此请求之前卸载一个开启器并重新安装它?
答案 0 :(得分:0)
您可以构建和安装不同的开场白。我就是这样做的:
opener2 = urllib2.OpenerDirector()
default_classes = [urllib2.HTTPHandler, urllib2.HTTPDefaultErrorHandler,
MyFTPHandler, urllib2.HTTPErrorProcessor]
if hasattr(httplib, 'HTTPS'):
default_classes.insert(0, urllib2.HTTPSHandler)
for klass in default_classes:
opener2.add_handler(klass())
urllib2.install_opener(opener2)
使用然后返回第一个开场白(urllib2.install_opener(opener)
)。