如何将请求(python)cookie保存到文件中?

新手上路,请多包涵

如何在请求后使用库 requests (在 python 中)

 #!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
bot = requests.session()
bot.get('http://google.com')

将所有 cookie 保存在一个文件中,然后从文件中恢复 cookie。

原文由 agrynchuk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 558
1 个回答

没有直接的方法可以做到这一点,但并不难做到。

您可以从与 session.cookies 的会话中获取 CookieJar 对象,并使用 pickle 将其存储到文件中。

一个完整的例子:

 import requests, pickle
session = requests.session()
# Make some calls
with open('somefile', 'wb') as f:
    pickle.dump(session.cookies, f)

加载是:

 session = requests.session()  # or an existing session

with open('somefile', 'rb') as f:
    session.cookies.update(pickle.load(f))

requests 库使用 requests.cookies.RequestsCookieJar() 子类,它明确支持 pickling 和类似 dict 的 API。 RequestsCookieJar.update() 方法 可用于使用从 pickle 文件加载的 cookie 更新现有会话 cookie jar。

原文由 madjar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题