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

Python携带Cookie请求Steam接口本地正常Ubuntu服务器失效如何解决

排查流程

按顺序做以下检查,基本能定位所有问题:

  • 先打印完整响应内容,不要直接解析JSON
    你现在的代码直接调用response.json(),如果接口返回的不是JSON格式(比如拦截页、错误页)会直接抛异常,也看不到具体拦截原因。先加调试代码:
    response = requests.get(url, headers=headers, timeout=15)
    print("状态码:", response.status_code)
    print("响应前500字符:", response.text[:500])
    
    如果返回的是Cloudflare验证页、403提示、429限流提示,说明请求已经被风控拦截,不是Cookie写错的问题。
  • 排除代码本身问题,用curl直接在服务器上测
    把你本地能跑通的Cookie和URL复制到Ubuntu服务器上,直接执行curl命令测试:
    curl -i -H "Cookie: 替换成你完整的cookiestring内容" "替换成完整的请求URL"
    
    • 如果curl也返回异常:问题出在网络/IP层面,和Python代码无关
    • 如果curl能正常返回JSON:问题出在Python请求的请求头、请求参数和你本地/Postman的不一致
  • 核对IP风控问题
    Steam对云服务商的机房IP段风控等级远高于家庭宽带IP:
    • 本地和Postman用的是家庭宽带IP,本身在Steam的白名单范围内,哪怕请求头不全、Cookie有小问题也可能放行
    • 云服务器的IP属于数据中心段,只要请求特征稍有异常(比如缺常规浏览器头、Cookie和登录IP不匹配)就会被直接拦截
      另外部分Steam的Cookie(比如steamLoginSecure)会和登录IP段绑定,你在本地家庭IP下导出的Cookie,放到机房IP上用会直接触发安全校验,导致Cookie失效。
  • 检查请求头完整性
    你现在只传了Cookie头,缺少浏览器正常请求会带的User-Agent、Referer、Accept等字段,在机房IP的高风控环境下,这种明显的脚本请求特征会被直接拦截。可以打开浏览器的开发者工具,把成功请求的所有请求头复制下来,和你代码里的headers逐一对比,不要漏字段。
  • 检查服务器本地网络问题
    先在服务器上执行curl https://steamcommunity.com,看能不能正常返回Steam社区的首页内容,排除服务器防火墙劫持、DNS污染、运营商拦截的问题。
修复方案
  • 补全常规浏览器请求头,参考代码:
    cookiestring="key1=value1;key2=value2;key3=value3;"
    headers = {
        "Cookie": cookiestring,
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
        "Accept": "*/*",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Referer": "https://steamcommunity.com/market/",
        "X-Requested-With": "XMLHttpRequest"
    }
    url = f"https://steamcommunity.com/market/pricehistory/?appid=730&market_hash_name={market_hash_name}"
    response = requests.get(url, headers=headers, timeout=15)
    
  • 如果是IP被风控/ Cookie绑定IP:要么在服务器当前的网络环境下重新登录Steam账号获取新的Cookie,要么给请求配住宅代理,用和你登录账号同区域的家庭宽带IP发起请求,不要直接用云服务器公网IP爬取Steam市场接口,被限流拦截的概率极高。
  • 控制请求频率,Steam市场接口有严格的限流规则,单IP短时间请求超过阈值会直接被封,测试和正式运行时单请求间隔不要低于3秒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 10:57:54