我正在创建一个脚本,它需要我使用代理并需要使用 cookie。
该脚本将访问 HTTP 和 HTTPS 页面,这意味着我需要两个 URL 打开器。
但是,我希望两个开启者的 cookie 彼此共享,我该如何实现呢?
你真的需要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'}))