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

Node.js调用Activision站点登录POST接口无响应问题排查求助

问题排查与解决思路

无响应无报错的基础原因

你的axios配置未设置超时时间,默认状态下axios没有超时限制,请求被服务端拦截挂起后就会一直处于运行状态,没有任何输出。优先在config中添加timeout: 10000参数设置10秒超时,先拿到明确的错误提示。

人机验证的判断

你的猜测正确,Activision登录接口强制校验reCAPTCHA令牌,你当前提交的表单参数缺失g-recaptcha-response字段,这是核心校验项,缺少该参数时服务端会直接丢弃请求或挂起连接,不会返回任何响应内容。

其他请求规则问题

你当前的请求头配置不全,也会触发反爬机制被拦截:

  • 缺少Content-Type: application/x-www-form-urlencoded头,你使用qs序列化表单数据,必须匹配对应内容类型
  • 只携带了XSRF-TOKEN单个Cookie,需要将GET登录页时拿到的所有Cookie完整带上,包括会话类Cookie
  • 缺少和GET请求一致的User-Agent头、Referer: https://www.activision.com/来源头,会被服务端判定为非法请求

修正后的代码示例

var axios = require('axios');
var qs = require('qs');
var data = qs.stringify({
  'username': 'myUserName',
  'password': 'myPassword',
  'remember_me': 'true',
  '_csrf': '实际获取的xsrfToken',
  'g-recaptcha-response': '人机验证返回的令牌' // 必须补充的校验参数
});
var config = {
  method: 'post',
  url: 'https://s.activision.com/do_login?new_SiteId=activision',
  timeout: 10000, // 新增超时配置避免无限挂起
  headers: { 
    'Content-Type': 'application/x-www-form-urlencoded',
    'User-Agent': '和GET登录页请求完全一致的UA标识',
    'Referer': 'https://www.activision.com/',
    'Cookie': "GET登录页返回的完整Cookie串"
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

人机验证处理方案

  • 测试阶段可以手动在浏览器触发一次登录验证,拿到有效期内的g-recaptcha-response填入参数测试
  • 自动化场景可以对接第三方打码服务,传入Activision站点的reCAPTCHA密钥获取验证令牌

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:06:03