在Python中使用urllib2同时使用Cookies和代理

6 投票
1 回答
2540 浏览
提问于 2025-04-17 12:40

我正在使用urllib2来和一个网络服务器进行交互。为了我需要解决的具体问题,我需要通过一个代理来传输流量。我用urllib2的'ProxyHandler'成功实现了这一点。

我还需要接受和发送cookies。我用urllib2的'cookielib.LWPCookieJar()'也成功做到了这一点。

问题是,虽然它们各自都能单独工作,但放在一起就不行了。我最后用'urllib2.install_opener(opener)'添加的那个打开器才会生效。

有没有可能同时使用两个活动的打开器?或者有没有其他方法可以解决这个问题?

1 个回答

10

把代理处理器和 cookie 处理器合并到一个打开器里:

cj = cookielib.CookieJar()
opener = build_opener(ProxyHandler({'http': 'ip:port'}), HTTPCookieProcessor(cj))

撰写回答