对Steam的HTTP请求给出401响应

2024-10-03 09:12:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用浏览器上的开发人员工具来寻找获取信息的方法,因此我尝试通过一个HTTP请求获取Steam用户名的一个大列表。你知道吗

问题是我不能使用“Inspect Element”功能的network选项卡来跟踪我的搜索查询,因为当按下enter键时,它是通过JavaScript发送的。很公平。。。我查看js文件并找到GET请求。它需要会话ID,因此我打开控制台并获取会话ID

这就是我的困境:这是来自js文件的GET请求

url: 'https://steamcommunity.com/search/SearchCommunityAjax', type: 'GET', data: { text: search_text, filter: search_filter, sessionid: g_sessionID, steamid_user: g_steamID, page: this.m_nPage }

我已经尝试过通过python传递所有参数,就像我实际使用浏览器一样(会话ID会被阻塞,以防敏感?)地址:

data = {'sessionid': '********', 'text': 'test', 'filter': 'users', 'steamid_user': 'false', 'page': 1}
requests.get('https://steamcommunity.com/search/SearchCommunityAjax', data=data)

请求会产生401响应,我没有授权。我尝试了另一个仅使用会话ID的请求,以防其他参数出现格式错误,但没有效果。你知道吗

我应该注意的是,我可以通过网络界面做到这一点,而无需登录。此请求的唯一身份验证形式似乎是会话ID

就像我说的,我真的不需要这个工作,但我觉得它会很高兴知道为什么它不工作,所以我可以提高我的技能!谢谢你的帮助。你知道吗


Tags: 文件texthttpscomidsearchdataget