requests.Session()从CookieJar加载cookie
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了requests.Session()从CookieJar加载cookie相关的知识,希望对你有一定的参考价值。
如何将CookieJar加载到新的requests.Session对象?
cj = cookielib.MozillaCookieJar("mycookies.txt")
s = requests.Session()
这是我创建的,现在会话将存储cookie,但我希望它从文件中获取我的cookie (会话应该加载cookieJar)。怎么能实现这一目标? 我搜索了文档,但我只能找到代码示例,他们永远不会加载cookieJar,只是在一个会话期间保存cookie。
有一个可选的cookies=
,可以为requests.Session
(以及请求)对象提供:
cookies =无
CookieJar包含此会话中设置的所有当前未完成的Cookie。默认情况下,它是RequestsCookieJar,但可以是任何其他cookielib.CookieJar兼容对象。
见:http://docs.python-requests.org/en/latest/api/#requests.Session.cookies
所以它变成:
s = requests.Session(cookies=cj)
更新:我混淆了requests.get
,request.post
等...,正如mata在评论中正确指出的那样 - cookies是会话对象的属性,而不是init参数,所以这不起作用。构建会话后的s.cookies = cj将:
因此,使用:
s = requests.Session()
s.cookies = cj
以上是关于requests.Session()从CookieJar加载cookie的主要内容,如果未能解决你的问题,请参考以下文章
关于cookiejar(),requests.session()中cookie的详细操作方法
requests接口自动化9-共享session和传递cookie
将 requests.Session() cookie 传输到 Python 中的 selenium Web 驱动程序
4 使用Selenium模拟登录csdn,取出cookie信息,再用requests.session访问个人中心(保持登录状态)