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

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

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

最佳答案

您实际上需要2个开瓶器吗?制作一个,并包含http和https的处理程序和代理以及1个cookie罐。使用1个开瓶器完全可以满足我的所有需求。

cj = cookielib.CookieJar()
opener = build_opener(
             HTTPHandler(), HTTPSHandler(), HTTPCookieProcessor(cj),
             ProxyHandler({'http': 'http://user:[email protected]:80'}),
             ProxyHandler({'https': 'http://user:[email protected]:80'}))


对于2个开罐器,制作1个饼干罐,并在两个罐子之间共享。

cj = cookielib.CookieJar()
HTTPOpener = build_opener(
             HTTPHandler(), HTTPCookieProcessor(cj),
             ProxyHandler({'http': 'http://user:[email protected]:80'}))
HTTPSOpener = build_opener(
             HTTPSHandler(), HTTPCookieProcessor(cj),
             ProxyHandler({'https': 'http://user:[email protected]:80'}))

10-08 06:57