我正在创建一个脚本,它将要求我使用代理并需要使用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'}))