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

使用Python Requests登录icarus.flights失败,提示账号或密码错误

登录https://app.icarus.flights/失败排查方案
  • 确认API端点正确性
    你当前调用的是https://api.icarus.flights/login,但实际网页登录的后端接口可能并非这个地址。打开浏览器开发者工具(F12)切换到「网络」标签,手动完成一次登录操作,查看实际发送登录请求的URL,替换代码中的url值。

  • 检查请求数据格式
    部分网站登录接口不接受JSON格式请求体,而是采用application/x-www-form-urlencoded格式。可以尝试修改请求方式:

    import requests
    
    url = '实际登录接口URL'
    payload = {
        "email": "some@email.com",
        "password": "123456"
    }
    # 使用data参数提交,requests会自动设置正确的Content-Type
    r = requests.post(url, data=payload)
    
    print(r.text)
    
  • 添加浏览器模拟请求头
    服务器可能会拦截非浏览器发起的请求,需要添加User-Agent等头信息模拟浏览器:

    headers_ = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    }
    r = requests.post(url, data=payload, headers=headers_)
    
  • 获取并携带CSRF令牌
    多数网站登录会要求携带CSRF令牌,需先访问登录页面获取令牌再提交:

    import requests
    import re
    
    # 使用Session保持会话
    session = requests.Session()
    # 访问登录页面获取CSRF令牌
    login_page = session.get('https://app.icarus.flights/')
    # 从页面源码中提取CSRF令牌(示例:匹配meta标签中的令牌)
    csrf_token = re.search(r'<meta name="csrf-token" content="(.*?)">', login_page.text).group(1)
    
    # 构造登录请求,携带令牌
    payload = {
        "email": "some@email.com",
        "password": "123456",
        "csrf_token": csrf_token  # 字段名需根据实际页面调整,比如可能是_csrf
    }
    headers_ = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    }
    r = session.post(url, data=payload, headers=headers_)
    
    print(r.text)
    
  • 检查密码是否需要加密
    部分网站会在前端对密码进行哈希或加密后再提交,查看浏览器登录时的请求 payload,确认密码是否为明文。如果是加密后的,需在代码中实现相同的加密逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:10:11