1

我正在创建一个脚本,它需要我使用代理并需要使用 cookie。

该脚本将访问 HTTP 和 HTTPS 页面,这意味着我需要两个 URL 打开器。

但是,我希望两个开启者的 cookie 彼此共享,我该如何实现呢?

4

1 回答 1

2

你真的需要2个开瓶器吗?制作一个并包含 http 和 https 的处理程序和代理以及 1 个 cookie jar。我使用 1 个开瓶器来满足我的所有需求都没有问题。

cj = cookielib.CookieJar()
opener = build_opener(
             HTTPHandler(), HTTPSHandler(), HTTPCookieProcessor(cj), 
             ProxyHandler({'http': 'http://user:passwd@proxy.example.com:80'}),
             ProxyHandler({'https': 'http://user:passwd@proxy.example.com:80'}))

对于 2 个开瓶器,制作 1 个饼干罐并在他们之间分享。

cj = cookielib.CookieJar()
HTTPOpener = build_opener(
             HTTPHandler(), HTTPCookieProcessor(cj), 
             ProxyHandler({'http': 'http://user:passwd@proxy.example.com:80'}))
HTTPSOpener = build_opener(
             HTTPSHandler(), HTTPCookieProcessor(cj), 
             ProxyHandler({'https': 'http://user:passrd@proxy.example.com:80'}))
于 2012-07-03T18:10:12.380 回答