乐闻世界logo
搜索文章和话题

How to add a cookie to the cookiejar in python requests library

4 个月前提问
4 个月前修改
浏览次数11

1个答案

1

在 Python 的 requests 库中,您可以使用 requests.cookies.RequestsCookieJar 来管理 cookie。添加 cookie 到 CookieJar 主要有两种方法,下面我将逐一说明并提供示例。

方法1:直接使用 set 方法

RequestsCookieJar 提供了一个 set 方法,允许您直接设置 cookie 的名称、值以及可选的域和路径等参数。

python
import requests # 创建一个新的 session 对象 session = requests.Session() # 获取 session 中的 cookiejar cookie_jar = session.cookies # 向 cookiejar 添加 cookie cookie_jar.set('cookie_name', 'cookie_value', domain='example.com', path='/') # 发送请求 response = session.get('https://example.com') # 打印响应的 cookies print(response.cookies)

在这个例子中,我们首先创建了一个 requests.Session,然后从这个 session 中获取其 cookiejar。使用 cookiejar.set 方法,我们添加了一个名为 'cookie_name',值为 'cookie_value' 的 cookie,并且指定了域和路径。之后,当我们向 'https://example.com' 发送请求时,这个 cookie 将会被自动包含在请求中。

方法2:通过字典直接赋值

另一种添加 cookie 的方法是直接通过字典的形式对 cookiejar 进行赋值。这种方法比较直接,但不支持设置 cookie 的额外属性,如域或路径。

python
import requests # 创建一个新的 session 对象 session = requests.Session() # 添加 cookie session.cookies['cookie_name'] = 'cookie_value' # 发送请求 response = session.get('https://example.com') # 打印响应的 cookies print(response.cookies)

在这个例子中,我们直接通过键值对的方式向 session.cookies 字典添加了 cookie。这种方法简单直接,但如果需要设置 cookie 的其他属性(如有效期、域、路径等),则需要使用前一种方法。

每种方法都有其适用场景,您可以根据具体需求选择合适的方式添加 cookie。

2024年8月12日 11:40 回复

你的答案