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

Uplay用户名抢占工具Post请求无响应,返回空白内容问题求助

排查Uplay账号创建POST请求无响应的问题

结合你的代码和场景,我整理了几个大概率导致POST请求返回空白、账号创建失败的排查方向,咱们一步步来解决:

1. 请求体格式不匹配(最可能的原因)

你当前用data=payload发送POST请求,但Ubi的用户创建接口大概率只接受JSON格式的请求体。data参数会把payload编码成表单格式(application/x-www-form-urlencoded),和接口预期的格式完全不符,导致接口无法解析请求,直接返回空白。

解决方法:把data=payload替换成json=payload,requests会自动帮你设置Content-Type: application/json请求头,完美匹配接口要求:

r = self.session.post("https://public-ubiservices.ubi.com/v3/users", headers=self.headers, json=payload)

2. Payload字段存在非法值

你的payload里有几个None值(age, firstName, lastName),Ubi的注册接口大概率不允许这些字段为null:

  • age字段:既然已经传了dateOfBirth,可以直接删掉这个字段,或者计算对应年龄传入(比如34);
  • firstName和lastName:多数注册接口是必填项,不能传None,试试改成空字符串""或者随便填个合法值(比如"Test"和"User")。

调整后的payload示例:

payload = {
    "dateOfBirth": "1989-01-18T00:00:00.00000Z",
    'confirmedEmail': email,
    'email': email,
    'country': 'GB',
    'firstName': "Test",
    'lastName': "User",
    'nameOnPlatform': username,
    'password': password,
    'preferredLanguage': 'en',
    'legalOptinsKey': 'eyJ2dG91IjoiNC4wIiwidnBwIjoiNC4wIiwidnRvcyI6IjIuMSIsImx0b3UiOiJlbi1HQiIsImxwcCI6ImVuLUdCIiwibHRvcyI6ImVuLUdCIn0'
}

3. 缺少必要的请求头或会话状态

你的请求头只包含了基础字段,但真实浏览器注册时会携带更多验证信息,比如Origin、Referer,而且可能需要先访问注册页面获取必要的Cookie:

  • 先补全请求头:
headers = {
    "Ubi-AppId": "c5393f10-7ac7-4b4f-90fa-21f8f3451a04",
    "Ubi-RequestedPlatformType": "uplay",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36",
    "Origin": "https://account.ubisoft.com",
    "Referer": "https://account.ubisoft.com/en-GB/register"
}
  • 在初始化会话时先访问注册页面,获取合法Cookie:
def __init__(self):
    self.session.get("https://account.ubisoft.com/en-GB/register", headers=self.headers)

4. 增加响应调试信息

你现在只打印了r.text,可以多打印一些响应细节,帮你快速定位问题:

print(f"Status Code: {r.status_code}")
print(f"Response Headers: {dict(r.headers)}")
print(f"Response Text: {r.text}")

不同状态码的含义很明确:

  • 400:请求参数错误(比如payload格式/字段不对)
  • 403:权限验证失败(比如缺少头、被反爬拦截)
  • 500:服务器内部错误(大概率不是你的问题)

5. 规避反爬机制

Ubi有反爬检测,高频请求或者缺少浏览器特征容易被拦截:

  • 在检测到可用用户名后,加个2-3秒的延迟再发起创建请求;
  • 补全Accept、Accept-Language等浏览器常用请求头,让请求更接近真实用户行为。

建议先从请求格式问题(把data改成json)开始排查,这是最常见的触发原因,解决后再验证其他点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 14:42:31