Python,Urllib2和Openers

时间:2015-06-12 17:19:25

标签: python-2.7 urllib2

我的情况是,根据用户在我的包中选择的内容,我需要安装多个处理程序。

示例我有3个处理程序。如果用户说他们想要使用代理,那么您需要添加代理处理程序,但这并非总是如此。

那么你可以多次调用opener = urllib2.build_opener()而不覆盖现有的处理程序吗?

例如: opener = urllib2.build_opener(RedirectHandler()) opener = urllib2.build_opener(ProxyHandler())... 等...

我并不是一直都需要所有处理程序,而且我不想为每种情况制作用例。

谢谢

1 个答案:

答案 0 :(得分:1)

答案结果很简单。

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

那就是它!这只是一个*。