0

我正在使用 Python 进行一系列 API 调用,类似于以下内容:

response = requests.post('https://httpbin.org/post', data = {'key':'value'})

当我的 API 调用成功时,我可以使用response.cookies以下类型的 cookie 来查看 cookie:requests.cookies.RequestsCookieJar

然后我想将这些 cookie 存储在 MacOS 钥匙串中,以便以后可以使用它们。我正在使用类似于以下内容的密钥环执行此操作: keyring.set_password("test", "test", cookies)

虽然 KeyChain 要求存储类型为文本(UTF-8 编码)。如何序列化 cookie 以便存储它们?在将 cookie 作为文本检索后,如何重新打包 cookie 以备将来的请求?

4

1 回答 1

0

要存储 cookie,可能就像使用cookies = json.dumps(dict(cookies))将 RequestsCookieJar 转换为字典然后是字符串(以 JSON 格式读取)一样简单。这可能会满足密钥环存储类型的要求。

同样,要将此 json 字符串转换回字典以供将来的请求使用,您可以像这样加载 cookie:cookies = json.loads(cookies)

于 2021-10-14T03:58:53.453 回答