在 Python 的 requests
库中,您可以使用 requests.cookies.RequestsCookieJar
来管理 cookie。添加 cookie 到 CookieJar
主要有两种方法,下面我将逐一说明并提供示例。
方法1:直接使用 set
方法
RequestsCookieJar
提供了一个 set
方法,允许您直接设置 cookie 的名称、值以及可选的域和路径等参数。
pythonimport 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 的额外属性,如域或路径。
pythonimport 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 回复