编程语言
首页 > 编程语言> > 使用python-requests模块更新会话中的Cookie

使用python-requests模块更新会话中的Cookie

作者:互联网

我正在使用python-requests模块来处理oAuth请求和响应.
我想在requests.session.cookies对象中设置收到的access_token(响应内容为dict).

如何使用从服务器收到的响应更新会话的现有cookie?

[编辑]

self.session = requests.session(auth=self.auth_params)
resp = self.session.post(url, data=data, headers=self.headers)
content = resp.content

我想做的事情如下:

requests.utils.dict_from_cookiejar(self.session.cookies).update(content)

这里,requests.utils.dict_from_cookiejar(self.session.cookies)返回带有一个会话密钥的dict.现在,我想更新self.session.cookies中收到的响应内容.

解决方法:

请求可以为您执行此操作,前提是您告诉它您所做的所有请求都是同一会话的一部分:

>>> import requests
>>> s = requests.session()
>>> s.get('https://www.google.com')
<Response [200]>
>>> s.cookies
<<class 'requests.cookies.RequestsCookieJar'>[Cookie(version=0, name='NID'...

使用s.get或s.post进行的后续请求将重新使用并更新服务器发送回客户端的cookie.

要将Cookie自行添加到单个请求中,只需通过cookies参数添加即可.

>>> s.get('https://www.google.com', cookies = {'cookieKey':'cookieValue'})

除非服务器为提供的cookie发回新值,否则会话将不会保留提供的cookie.

标签:python,oauth-2-0,python-requests,session-cookies,http-request
来源: https://codeday.me/bug/20190625/1286812.html