练习3:响应属性 📗

📋 任务目标

掌握requests响应对象的常用属性

💡 知识点回顾

课程位置:05.处理响应.pdf - 5.1 常用响应属性

核心属性:

📝 练习内容

请访问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)
返回练习列表 下一个练习 →