欢迎访问宙启技术站
智能推送

Python中如何设置和获取Cookies

发布时间:2023-12-25 03:10:19

在Python中,可以使用requests库来发送HTTP请求并处理Cookies。下面是一个示例代码,演示了如何设置和获取Cookies。

import requests

# 发送带有Cookies的HTTP请求
response = requests.get(url, cookies={'key1': 'value1', 'key2': 'value2'})

# 设置Cookies
cookies = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, cookies=cookies)

# 获取Cookies
cookies = response.cookies
for cookie in cookies:
    print(cookie.name, cookie.value)

# 将Cookies转换为字典
cookie_dict = requests.utils.dict_from_cookiejar(cookies)
print(cookie_dict)

# 将字典转换为Cookies
cookie_str = requests.utils.cookiejar_from_dict(cookie_dict)
cookies = requests.cookies.RequestsCookieJar()
cookies.update(cookie_str)

以上代码中,首先导入了requests库。然后使用requests.get()方法发送带有Cookies的GET请求,可以通过cookies参数直接传入一个字典来设置Cookies。如果需要获取响应中的Cookies,可以通过response.cookies属性获取。

为了方便处理Cookies,requests库提供了requests.utils.dict_from_cookiejar()方法将requests.cookies.RequestsCookieJar对象转换为字典,以及requests.utils.cookiejar_from_dict()方法将字典转换为requests.cookies.RequestsCookieJar对象。这样可以方便地将Cookies转换为字典操作,或者将字典转换为Cookies对象。

需要注意的是,requests库中的Cookies对象为requests.cookies.RequestsCookieJar,不同于标准库中的http.cookiejar.CookieJar对象。因此,需要使用requests.cookies.RequestsCookieJar类来操作Cookies。

通过上述代码,可以实现对Cookies的设置和获取。在实际应用中,可以根据具体需求与服务器进行交互,并使用Cookies实现登录、会话等功能。