首页 > 解决方案 > python请求处理具有空域的cookie

问题描述

我正在与之交互的服务器在身份验证期间设置了一个具有空域的会话 cookie。在浏览器 (Chrome) 中,此 cookie 被保留并在后续请求中传递。但是,对于 Python requests 库,它不会保留在 Session 对象中,也不会传递给同一会话的后续请求。我正在使用版本 2.25.1(即最新)的请求。

有没有一种干净的方法可以使请求库的行为类似于 Chrome?目前我正在这样做作为一个黑客:

    match = re.search('JSESSIONID=([^;]+)', response.headers['Set-Cookie'])
    if match:
        session.cookies.set('JSESSIONID', match.group(1), domain='.foo.com')

...其中“foo.com”是作为我请求目标的服务器的域。

以下是我打开请求的调试日志记录时看到的内容:

header: Set-Cookie: JSESSIONID=somevalue; domain=; httpOnly; Secure; SameSite=None; path=/

...但是它没有在会话的 cookie 中设置(我通过记录会话的 cookie jar 的内容来验证)。

标签: pythonhttpcookiespython-requestssession-cookies

解决方案


推荐阅读