2017-06-21 30 views
0

使用Python 2.我有已被安裝爲我使用提出要求,以一個網站其中首戰BasicAuthHandler。如何在不使用urlopen的情況下創建urllib2 POST請求?

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正常工作。那麼在提出這個請求並重新安裝之前,有沒有辦法卸載一個opener?

回答

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))。

相關問題