You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的requests库登录无明显CSRF Token的网站

新手友好的无CSRF Token网站登录脚本指南

别担心,新手遇到这种情况太正常啦!没有CSRF Token的话,登录流程反而可能更简单,咱们一步一步来搞定~

第一步:先搞清楚登录的请求细节

首先你得用浏览器的开发者工具(按F12)抓个包,看看登录时网站到底要什么参数:

  • 打开登录页面,F12切换到「Network」标签,勾选「Preserve log」
  • 点击登录按钮,找到类型为「POST」的请求(一般就是登录请求)
  • 查看这个请求的「Form Data」,里面就是你需要提交的参数(比如用户名、密码,可能还有remember_me这类小参数)
  • 同时记下这个POST请求的URL(不是登录页面的URL,是实际接收登录数据的接口URL)

第二步:用Python的requests库实现登录

requests是处理HTTP请求的神器,新手也能快速上手。

先安装requests(如果没装的话)

打开命令行运行:

pip install requests<2.28.0  # 因为Python3.6不支持更高版本的requests

完整代码示例

import requests

# 1. 创建Session对象,它会自动帮你管理Cookie,不用手动处理
session = requests.Session()

# 2. 先访问登录页面,获取必要的Cookie(有些网站会检查你是否先打开过登录页)
# 替换成目标网站的登录页面URL
login_page_url = "https://xxx.com/login"
# 加上User-Agent,模拟浏览器访问,避免被网站拦截
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
session.get(login_page_url, headers=headers)

# 3. 构造登录表单数据,键要和抓包看到的Form Data完全一致!
# 比如抓包看到的是"user_name"就不能写成"username"
login_data = {
    "username": "你的账号",
    "password": "你的密码"
    # 如果抓包还有其他参数,比如"remember": "on",就加上这一行
}

# 4. 发送登录请求,替换成抓包得到的POST接口URL
login_api_url = "https://xxx.com/api/login"
response = session.post(login_api_url, data=login_data, headers=headers)

# 5. 验证是否登录成功
# 替换成一个只有登录后才能访问的页面URL,再检查返回内容里的特征文本
test_url = "https://xxx.com/user_center"
test_response = session.get(test_url, headers=headers)
if "欢迎回来" in test_response.text:  # 替换成你登录后页面会出现的文本
    print("登录成功!接下来就可以处理xls下载啦~")
else:
    print("登录失败啦!可能是参数不对,或者网站有其他验证机制,再去抓包核对下参数吧")

一些新手容易踩的坑

  • 参数名一定要和抓包的完全一致:比如有的网站用户名参数是user不是username,写错了肯定登不上
  • 如果密码是加密的:抓包时如果看到密码不是你输入的明文,那得去看网站的JS代码,模拟它的加密逻辑(这一步稍微复杂点,实在搞不定可以再提问)
  • 不要忽略User-Agent:很多网站会拦截没有User-Agent的请求,直接当成机器人
  • Python3.6的兼容性:一定要装兼容3.6的requests版本,不然会报错

内容的提问来源于stack exchange,提问作者cloclododouce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:38:35