2015-06-12 114 views
0

我有一種情況,取決於用戶在我的包中選擇什麼,我需要安裝多個處理程序。Python,Urllib2和Openers

示例我有3個處理程序。如果用戶說他們想要使用代理,那麼您需要添加代理處理程序,但情況並非總是如此。

那麼你可以多次調用opener = urllib2.build_opener()而不覆蓋現有的處理程序?

例如: 開門紅= urllib2.build_opener(RedirectHandler()) 開門紅= urllib2.build_opener(ProxyHandler())... 等等

我並不需要所有的處理程序全部時間,我不想爲每種情況提供用例。

謝謝

回答

1

的答案竟然是相當簡單的。

handlers = [HandlerObj1(),..., HandlerObjn()] 
urllib2.build_opener(*handlers) 

就是這樣!這只是一個*。