Files
AIGame/Tools/http_probe_login.py
T
udxandCursor b7a0bbcb89 Add hot-update boot pipeline, UI bundles/atlas assets, and design docs.
Ignore AIClient/Library and AIClient/HybridCLRData permanently; include HybridCLR/YooAsset project setup and UI tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 16:02:58 +08:00

44 lines
1.9 KiB
Python

#!/usr/bin/env python3
import json
import urllib.error
import urllib.request
BASE = "https://game.xworld.ren"
CASES = [
("POST /login empty json", "POST", "/login", {"Content-Type": "application/json"}, b"{}"),
("POST /login guest", "POST", "/login", {"Content-Type": "application/json"}, json.dumps({"mode": "guest", "pid": "m2"}).encode()),
("POST /login device", "POST", "/login", {"Content-Type": "application/json"}, json.dumps({"deviceId": "m2_probe", "platform": "editor"}).encode()),
("POST /login user", "POST", "/login", {"Content-Type": "application/json"}, json.dumps({"username": "test", "password": "test"}).encode()),
("POST /api/v1/login", "POST", "/api/v1/login", {"Content-Type": "application/json"}, json.dumps({"deviceId": "m2"}).encode()),
("POST /auth/login", "POST", "/auth/login", {"Content-Type": "application/json"}, json.dumps({"deviceId": "m2"}).encode()),
("POST /ws/token", "POST", "/ws/token", {"Content-Type": "application/json"}, json.dumps({"pid": "m2"}).encode()),
("GET /login", "GET", "/login", {}, None),
("OPTIONS /login", "OPTIONS", "/login", {"Origin": "https://www.xworld.ren"}, None),
]
def hit(method, path, headers, body):
req = urllib.request.Request(BASE + path, data=body, method=method)
for k, v in headers.items():
req.add_header(k, v)
try:
with urllib.request.urlopen(req, timeout=10) as resp:
data = resp.read()
print(f"OK {method} {path} {resp.status} {data[:500]!r}")
except urllib.error.HTTPError as e:
body = e.read()
print(f"HTTP {e.code} {method} {path} headers={dict(e.headers)} body={body[:500]!r}")
except Exception as e:
print(f"ERR {method} {path}: {type(e).__name__} {e}")
def main():
for name, method, path, headers, body in CASES:
print("---", name)
hit(method, path, headers, body)
if __name__ == "__main__":
main()