Roblox批量删好友Python脚本无法实际执行删除操作问题求助
Roblox批量删好友代码失效修复方案
问题根因
- 你当前的代码仅携带了登录Cookie,缺失Roblox修改类API强制要求的
X-CSRF-Token请求头,所有POST操作都会被官方拦截,这是实际没有执行删除的核心原因 - 没有做接口响应校验:你当前的逻辑仅捕获了网络层面的异常,只要请求发出去不管接口返回失败都会打印「删除成功」,无法感知API层面的错误
修复后代码
import requests import time cookie = input('Enter cookie: ') req = requests.Session() req.cookies['.ROBLOSECURITY'] = cookie try: userid = req.get('https://www.roblox.com/mobileapi/userinfo').json()['UserID'] except: input('invalid cookie given') exit() print('\nlogged in\n') # 获取Roblox要求的CSRF令牌 csrf_response = req.post('https://auth.roblox.com/v2/logout') csrf_token = csrf_response.headers.get('x-csrf-token') if not csrf_token: input('无法获取CSRF令牌,请检查Cookie有效性') exit() # 将CSRF令牌加入全局请求头,后续所有POST请求自动携带 req.headers['X-CSRF-Token'] = csrf_token friends = req.get(f'https://friends.roblox.com/v1/users/{userid}/friends').json() # 若好友数量超过100,需要对接分页参数拉取完整列表,当前逻辑仅拉取第一页 for friend in friends["data"]: friend_id = friend["id"] try: r = req.post(f'https://friends.roblox.com/v1/users/{friend_id}/unfriend') # 校验请求实际是否成功 if r.status_code == 200: print(f'deleted friend - {friend_id}') else: print(f'删除好友{friend_id}失败,状态码:{r.status_code},错误信息:{r.text}') # 避免请求频率过高被限流 time.sleep(1) except Exception as e: print(f'删除好友{friend_id}发生网络错误:{str(e)}') print('所有好友处理完成') time.sleep(3)
补充说明
- 不要把请求间隔改得太短,Roblox有频率限制,太快会触发临时功能封禁
- 运行前建议先注释批量循环逻辑,测试删除1个好友确认功能正常再批量执行
内容的提问来源于stack exchange,提问作者Arti
相关产品推荐
相关产品推荐

