如何从网站查找API?以实现1parrainage自动登录为例
公开站点登录API追踪与Requests模拟登录实操方案
一、修复Network面板无法查看请求的问题
- 清空旧日志:点击Network面板左上角的垃圾桶图标,刷新登录页,只捕获登录流程的请求。
- 精准过滤:在筛选框输入
POST(或GET),聚焦登录相关的提交请求;切换「Fetch/XHR」「Other」标签页,不要只看「Doc」标签。 - 禁用缓存:勾选「Disable cache」选项,避免旧缓存请求干扰追踪。
二、定位登录核心请求
- 提前录制:点击登录按钮前,开启Network面板的录制(红色圆点),触发登录后观察新生成的请求。
- 识别关键请求:找到包含用户名、密码字段的请求(查看「Payload」或「Form Data」),这就是登录的核心请求。
- 记录必要参数:复制该请求的
URL、请求方法(GET/POST),以及请求头里的Cookie、User-Agent、Referer,还有表单里的csrf_token(如果有)。 - 验证并转换请求:右键请求→Copy→Copy as cURL,在终端执行验证是否能成功登录,再手动转成
requests代码:import requests from bs4 import BeautifulSoup # 先获取登录页的Cookie和csrf令牌 session = requests.Session() login_page = session.get("https://www.1parrainage.com/login") soup = BeautifulSoup(login_page.text, "html.parser") csrf_token = soup.find("input", {"name": "_csrf_token"})["value"] # 构造登录请求 headers = { "User-Agent": "你的浏览器User-Agent", "Referer": "https://www.1parrainage.com/login" } data = { "username": "你的账号", "password": "你的密码", "_csrf_token": csrf_token } response = session.post("登录请求URL", headers=headers, data=data, allow_redirects=True)
三、Requests模拟登录的关键细节
- 用会话维持状态:使用
requests.Session()自动管理Cookie,无需手动每次传递。 - 完全复刻请求头:把浏览器里的
User-Agent、Referer等字段原封不动复制到headers中,降低被拦截概率。 - 处理动态令牌:如果登录页有隐藏的csrf令牌,必须从GET请求的HTML响应中提取,不能硬编码。
内容的提问来源于stack exchange,提问作者Soan
相关产品推荐
相关产品推荐

