贝利信息

Roblox API 401 错误的常见原因与正确 Cookie 设置方法

日期:2026-01-13 00:00 / 作者:花韻仙語

调用 roblox 用户 api(如 https://users.roblox.com/v1/description)返回 401 unauthorized,通常因 .roblosecurity 凭据未被正确传递所致——关键错误在于将 cookie 错误设为 'cookie',而应直接使用 '.roblosecurity' 作为键名。

在 Roblox Web API 认证流程中,.ROBLOSECURITY 是唯一有效的会话凭证,必须以精确的 cookie 名称注入请求会话,且需配合有效的 CSRF token 才能通过鉴权。你原始代码中的这一行:

DescriptionSession.cookies['Cookie'] = '.ROBLOSECURITY=' + Security

是根本性错误:requests.Session().cookies 是一个 RequestsCookieJar 对象,不接受通用键名 'Cookie';它要求 cookie 的 key 必须与域名下实际存储的 cookie 名完全一致——即 .ROBLOSECURITY。

✅ 正确写法应为:

import requests

security_token = "your_actual_.ROBLOSECURITY_value_here"  # 替换为真实值(需手动获取或安全存储)

# 1. 获取 CSRF Tok

en(必须先发 GET/HEAD 到任意受保护端点,如 auth.roblox.com) session = requests.Session() auth_resp = session.get("https://auth.roblox.com/v2/logout") # 推荐用 v2 端点,更稳定 csrf_token = auth_resp.headers.get("x-csrf-token") if not csrf_token: raise RuntimeError("Failed to retrieve x-csrf-token") # 2. 正确设置 .ROBLOSECURITY cookie(key 必须是 '.ROBLOSECURITY') session.cookies[".ROBLOSECURITY"] = security_token session.headers["x-csrf-token"] = csrf_token # 3. 发起目标请求(注意:payload 需为 JSON 格式,且 Content-Type 自动由 json 参数处理) update_resp = session.patch( "https://users.roblox.com/v1/description", json={"description": "Test"} ) print("Status:", update_resp.status_code) print("Response:", update_resp.text)

? 关键注意事项:

总结:401 错误绝大多数源于凭据未送达或 token 失效。修复 cookie 键名 + 正确携带 CSRF token + 使用 json= 发送结构化数据,即可解决该类授权失败问题。