我正在使用urllib2与网络服务器进行交互。对于我需要解决的具体问题,我需要通过代理隧道传输流量。我设法用urllib2'ProxyHandler'来做到这一点。
我还需要接受并发送cookie。我设法用urllib2'burnielib.LWPCookieJar()'来做到这一点。
问题在于,虽然他们单独工作,但他们并不“共同”工作。我使用'urllib2.install_opener(opener)'添加的最后一个开启者是可行的。
是否可以有两个活跃的'开启者'?还是另一种解决这个问题的方法?
答案 0 :(得分:10)
在单个开启者中组合代理处理程序和cookie处理器:
cj = cookielib.CookieJar()
opener = build_opener(ProxyHandler({'http': 'ip:port'}), HTTPCookieProcessor(cj))