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

Yaj*_*shi 5 python session-cookies oauth-2.0 http-request python-requests

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

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

[编辑]

self.session = requests.session(auth=self.auth_params)
resp = self.session.post(url, data=data, headers=self.headers)
content = resp.content
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情:

requests.utils.dict_from_cookiejar(self.session.cookies).update(content)
Run Code Online (Sandbox Code Playgroud)

在这里,requests.utils.dict_from_cookiejar(self.session.cookies)返回带有一个会话密钥的dict。现在,我想在self.session.cookies.

Yaj*_*shi 1

这段代码对我有用。希望它可以帮助别人。

我想用从发布请求接收到的响应值更新 session.cookies 变量。因此,相同的请求值可以在另一个 post/get 请求中使用。

在这里,我做了什么:

1)更新requests模块至1.0.3版本。

2)创建了2个函数

   session = requests.session() 
   def set_SC(cookie_val):
            for k,v in cookie_dict.iteritems():
                if not isinstance(v, str):
                    cookie_dict[k] =  str(v) 
            requests.utils.add_dict_to_cookiejar(session.cookies,
                                                 cookie_val)

    def get_SC():
            return requests.utils.dict_from_cookiejar(session.cookies)

    In another function:
    setSC(response.content)
Run Code Online (Sandbox Code Playgroud)