requests - 会话保持
使用场景:后台启用会话,登录之后,只要保持会话,就可以持续访问接口。
- 需要注意会话保持,登录之后不要断线;
- 为了防止 CSRF 攻击,登录参数除了账号密码,有时候还会有个 token,这个要通过爬虫抓取;
import requests
# 目标网站的登录URL
login_url = 'http://example.com/login'
# 创建一个Session对象,以便保持会话状态
session = requests.Session()
# 获取登录页面,通常这一步用于获取CSRF tokens等
response = session.get(login_url)
# 解析登录表单需要的数据,例如CSRF tokens
# 这部分需要根据实际登录页面的HTML结构来解析
# 假设CSRF token 在一个input标签的value属性中
# 以下只是一个示例,具体情况需要根据实际页面结构解析
csrf_token = '从登录页面获取的CSRF token'
# 登录需要的数据
login_data = {
'username': 'your_username',
'password': 'your_password',
'csrfmiddlewaretoken': csrf_token # 如果需要的话
}
# 发送POST请求进行登录
response = session.post(login_url, data=login_data)
# 登录成功后,session对象会自动处理cookies,之后的请求都会保持登录状态
# 例如获取登录后的内容
homepage = session.get('http://example.com/home')
print(response.json())
print(homepage.text) # 打印登录后的页面内容
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!