掌握requests响应对象的常用属性
课程位置:05.处理响应.pdf - 5.1 常用响应属性
核心属性:
response.text - 字符串形式的响应内容response.content - 字节形式的响应内容response.status_code - HTTP状态码response.headers - 响应头字典response.request.headers - 请求头字典response.cookies - Cookie对象请访问API接口:https://req.haleibc.com/api/practice3/info
该接口会返回JSON数据,并设置Cookie和自定义响应头。
import requests
url = 'https://req.haleibc.com/api/practice3/info'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"}
response = requests.get(url, headers=headers)
# 1. 获取响应内容
print("=== 响应内容(text) ===")
print(response.text)
print()
print("=== 响应内容(content) ===")
print(response.content)
print()
# 2. 获取状态码
print("=== 状态码 ===")
print(f"状态码:{response.status_code}")
print()
# 3. 获取响应头
print("=== 响应头 ===")
print(f"Content-Type: {response.headers.get('Content-Type')}")
print(f"X-Custom-Header: {response.headers.get('X-Custom-Header')}")
print()
# 4. 获取请求头
print("=== 请求头 ===")
print(f"User-Agent: {response.request.headers.get('User-Agent')}")
print()
# 5. 获取Cookies
print("=== Cookies ===")
print(f"test_cookie: {response.cookies.get('test_cookie')}")
print(f"所有Cookies: {dict(response.cookies)}")
print()
# 6. 解析JSON
print("=== JSON数据 ===")
data = response.json()
print(f"message: {data['message']}")
print(f"timestamp: {data['timestamp']}")
print(f"data: {data['data']}")
1. 发送请求到API接口
2. 打印响应的状态码
3. 打印响应头中的Content-Type和X-Custom-Header
4. 打印请求头中的User-Agent
5. 打印Cookie中的test_cookie值
6. 解析JSON数据并打印message字段
如果遇到乱码,可以设置正确的编码:
response.encoding = response.apparent_encoding print(response.text)