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

基于POST请求实现注册自动化:X-XSRF-TOKEN更新问题求助

解决Epic Games注册自动化中的X-XSRF-TOKEN问题

嘿,我明白你在做Epic Games注册自动化时遇到的XSRF Token困境了——这确实是很多网站反爬/验证机制里的常见坑。核心问题在于你直接POST到注册接口,但没先访问注册页面触发服务器下发XSRF Token,这类Token通常是服务器在用户首次访问页面时写入Cookie的,用来验证请求合法性。

下面是具体的解决思路和修改后的代码:

关键解决思路

  • 使用requests.Session()自动管理Cookie,获取到的XSRF Token会被自动保存,后续请求无需手动传递Cookie
  • 先访问注册页面(而非直接调用注册接口),让服务器把X-XSRF-TOKEN写入会话Cookie
  • 从Cookie中提取Token,同时在POST请求的Headers里带上X-XSRF-TOKEN字段(很多网站既要求Cookie存在,也需要请求头携带该字段)

修改后的代码示例

import requests
import json
import time
import random
from fake_useragent import UserAgent

# 初始化Session,自动维护Cookie会话
session = requests.Session()
ua = UserAgent()

# 第一步:访问注册页面,触发服务器下发X-XSRF-TOKEN
REGISTER_PAGE_URL = 'https://accounts.epicgames.com/register'
initial_headers = {
    'User-Agent': ua.random,
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
}

# 发送GET请求到注册页面,服务器会将XSRF Token写入Cookie
response = session.get(REGISTER_PAGE_URL, headers=initial_headers)
response.raise_for_status()  # 确保请求成功,避免后续操作基于无效响应

# 从会话Cookie中提取X-XSRF-TOKEN
xsrf_token = session.cookies.get('X-XSRF-TOKEN')
if not xsrf_token:
    raise ValueError("Failed to retrieve X-XSRF-TOKEN from cookies")

# 第二步:构造注册POST请求
POST_URL = 'https://accounts.epicgames.com/register/doCustomRegister'
post_headers = {
    'User-Agent': ua.random,
    'X-XSRF-TOKEN': xsrf_token,  # 请求头携带Token
    'Content-Type': 'application/json',  # 需根据真实请求格式调整,可能是表单格式
    'Accept': 'application/json, text/plain, */*'
}

# 构造注册参数(示例,需根据页面真实表单字段调整,比如添加验证码、同意条款字段)
register_data = {
    'email': f'test_{random.randint(1000,9999)}@example.com',
    'password': 'YourSecurePass123!',
    'displayName': f'TestPlayer_{random.randint(1000,9999)}',
    'agreeToTerms': True
}

# 模拟人类操作延迟,避免被识别为机器人
time.sleep(random.uniform(1, 3))
# 发送注册请求
post_response = session.post(POST_URL, headers=post_headers, json=register_data)
post_response.raise_for_status()

# 输出响应结果
print(post_response.json())

额外注意事项

  • 请求格式校验:通过浏览器F12开发者工具查看真实注册请求的Content-Type,如果是表单提交,就用data=register_data替代json=register_data
  • 人机验证处理:Epic Games大概率有验证码或reCAPTCHA,这是自动化的核心难点,可能需要借助打码平台或专门的验证码识别工具
  • UA一致性:尽量在整个会话中使用同一个User-Agent,避免频繁切换被标记为异常请求
  • 请求频率控制:添加随机延迟,不要短时间内发送大量请求,防止IP被封禁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:12:50