📜  python 请求获取 cookie - Python (1)

📅  最后修改于: 2023-12-03 15:19:11.930000             🧑  作者: Mango

Python请求获取Cookie

在进行Web开发过程中,经常需要使用Cookie来记录用户的信息。本文将介绍如何使用Python请求获取Cookie。

准备工作

在使用Python请求获取Cookie前,需要安装requests库和cookiejar库。

pip install requests
pip install http.cookiejar
请求获取Cookie

我们可以使用requests库进行GET或POST请求,从而获取Cookie。下面是一个例子:

import requests

# 构造请求
url = "http://www.example.com"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
}
response = requests.get(url, headers=headers)

# 获取Cookie
cookiejar = response.cookies
for cookie in cookiejar:
    print(f"{cookie.name}={cookie.value}")

以上代码中,我们使用requests库的get方法请求一个URL,并通过headers参数模拟浏览器请求。然后通过response.cookies属性获取Cookie,最后遍历Cookie输出。

写入和读取Cookie

获取Cookie后,我们可以将其写入本地文件。下面是一个例子:

import requests
import http.cookiejar

# 构造请求
url = "http://www.example.com"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
}
response = requests.get(url, headers=headers)

# 获取Cookie
cookiejar = http.cookiejar.CookieJar()
cookiejar.extract_cookies(response, response.request)
cookie_handler = http.cookiejar.LWPCookieJar(filename="cookie.txt")
cookie_handler.save(ignore_discard=True, ignore_expires=True)

以上代码中,我们使用http.cookiejar.CookieJar()来创建一个CookieJar对象,从response对象中提取Cookie并保存到本地文件。在后续请求中,我们可以通过读取本地文件来设置Cookie:

import requests
import http.cookiejar

# 读取Cookie
cookie_handler = http.cookiejar.LWPCookieJar(filename="cookie.txt")
cookie_handler.load(ignore_discard=True, ignore_expires=True)
cookiejar = requests.utils.dict_from_cookiejar(cookie_handler)

# 构造请求
url = "http://www.example.com"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
}
response = requests.get(url, headers=headers, cookies=cookiejar)

print(response.text)

以上代码中,我们使用http.cookiejar.LWPCookieJar()来创建一个CookieJar对象,并从本地文件中加载Cookie。在后续请求中,我们使用requests.utils.dict_from_cookiejar()方法将CookieJar对象转换为字典,通过cookies参数传递给requests库的get方法来使用Cookie。

结论

本文介绍了如何使用Python请求获取Cookie,并在后续请求中使用Cookie。Cookie的使用是Web开发中不可缺少的部分,希望本文能帮助您更好地理解Python中Cookie的使用。