练习10:Session和POST请求 📔

📋 任务目标

掌握Session会话保持和POST请求

💡 知识点回顾

课程位置:08.爬取学习资料.pdf - 8.2 Session会话保持、8.3 POST请求

核心方法:

📝 登录表单

请使用代码模拟登录,账号:admin,密码:admin123

💡 示例代码

完整的登录和访问流程

import requests

# 创建Session对象
session = requests.Session()

# 步骤1:发送POST请求登录
login_url = 'https://req.haleibc.com/practice10'
login_data = {
    'username': 'admin',
    'password': 'admin123'
}
response = session.post(login_url, data=login_data)
print("登录响应:", response.status_code)

# 步骤2:访问需要登录的页面(Session自动携带Cookie)
dashboard_url = 'https://req.haleibc.com/practice10/dashboard'
response = session.get(dashboard_url)

if response.status_code == 200:
    data = response.json()
    print("仪表板数据:", data)
else:
    print("访问失败:", response.json())

# 步骤3:退出登录
logout_url = 'https://req.haleibc.com/practice10/logout'
response = session.get(logout_url)
print("退出登录:", response.json())

不使用Session的对比

import requests

# 不使用Session,每次请求都是独立的
login_url = 'https://req.haleibc.com/practice10'
login_data = {'username': 'admin', 'password': 'admin123'}
response = requests.post(login_url, data=login_data)

# 这次请求不会携带登录的Cookie,会失败
dashboard_url = 'https://req.haleibc.com/practice10/dashboard'
response = requests.get(dashboard_url)
print(response.status_code)  # 403 Forbidden

✅ 练习任务

1. 创建Session对象

2. 使用POST请求登录(用户名:admin,密码:admin123)

3. 使用Session访问/practice10/dashboard接口

4. 提取仪表板数据并打印

5. 调用退出登录接口

6. 对比使用Session和不使用Session的区别

💡 Session的优势

返回练习列表 返回首页