requests cookie
时间: 2023-10-29 08:55:59 浏览: 97
使用 requests 库发送 HTTP 请求时,可以通过不同的方法设置 cookie。
一种方法是使用 `requests.utils.add_dict_to_cookiejar` 方法,该方法可以将 cookie 字典添加到请求的 cookies 中,但不支持设置 path、domain 等值。示例代码如下:
```python
import requests
session = requests.session()
cookie_dict = {"ck3a":"333a","ck3b":"333b"}
requests.utils.add_dict_to_cookiejar(session.cookies, cookie_dict=cookie_dict)
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("本次请求使用的cookie:", res.request.headers.get("Cookie"))
print("会话现有cookie:", dict(session.cookies))
```
另一种方法是通过 cookies 参数直接传递 cookie 字典,这种方法可以设置 path、domain 等值。示例代码如下:
```python
import requests
get_url = "https://postman-echo.com/get"
cookies = {"cka":"222a","ckb":"222b"}
res = requests.get(url=get_url, cookies=cookies)
print(res.json().get("headers").get("cookie"))
print(res.request.headers.get("Cookie"))
```
还可以使用 `session.cookies.set` 方法设置 cookie,该方法支持设置 path、domain 等值。示例代码如下:
```python
import requests
session = requests.session()
session.cookies.set("ck2", "222", path="/", domain="postman-echo.com")
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("本次请求使用的cookie:", res.request.headers.get("Cookie"))
print("会话现有cookie:", session.cookies)
```
以上是三种常见的设置 requests cookie 的方法,具体使用哪种方法取决于你的需求。
阅读全文