gpt4 book ai didi

python - Steam FileUploader 发布请求 : Missing SteamID

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:04 38 4
gpt4 key购买 nike

我正在尝试编写一个自动将个人资料图片上传到 Steam 的脚本。我现在将其编写为一次性使用以确保它有效。我正在尝试使用 python 请求来完成此任务。

无论我尝试什么,我总是得到 #Error_BadOrMissingSteamID 作为对我的发布请求的响应。

网址是https://steamcommunity.com/actions/FileUploader?type=player_avatar_image&sId=YourId&bgColor=262627 ,其中 YourId 替换为我拥有的 SteamID64。我知道这个 url 有效,因为我可以在我的浏览器上查看它并且对我的请求的响应总是 200。

该网页非常简单,它有一个“选择文件...”按钮、一个显示文件名的文本框和一个“上传”按钮。这是来源的重要部分:

<body>
<form enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
<input type="hidden" name="type" value="player_avatar_image" />
<input type="hidden" name="sId" value="MyId" />
<input type="hidden" name="sessionid" value="SessionId" />
<input type="hidden" name="doSub" value="1" />
<input type="file" name="avatar" size="16" />
<input id="submitBTN" input type="submit" value="Upload" />
</form>
</body>

我用 MyId 和 SessionId 替换了实际的 session /Steam ID。

我已经尝试了很多东西,但这基本上就是我所拥有的:

import requests

url = 'https://steamcommunity.com/actions/FileUploader'
picture = open("test.png", "rb")

r = requests.post(url=url,data={"type":"player_avatar_image","sId":"MyId"},files={"avatar":picture},headers={"sessionId":"SessionId"})
print(r.text)

我试过使用多部分编码,尝试使用数据/ header 参数,但我总是遇到同样的错误。

如何成功传入我的 SteamID?我知道参数名称是“sId”,因为这是在 url 和 html 中使用的名称。任何帮助将不胜感激。

最佳答案

您至少需要向 Steam 提供 steamLoginsteamLoginSecuresessionid cookie,以便它可以对您进行身份验证。将这些 cookie 添加到您的请求,您应该没问题。

这是适合我的代码:

import requests

url = 'https://steamcommunity.com/actions/FileUploader'
i = '76561198246664798' # enter ID64
cookies = {
'steamLogin': '',
'steamLoginSecure': '',
'sessionid': '',
}
data = {
"MAX_FILE_SIZE": "1048576",
"type": "player_avatar_image",
"sId": "",
"sessionid": "",
"doSub": "1",

}
picture = open('pic.png', 'rb')
r = requests.post(url=url, params={'type': 'player_avatar_image', 'sId':i}, files={'avatar': picture}, data=data, cookies=cookies)

填写所需的值,您就完成了。

关于python - Steam FileUploader 发布请求 : Missing SteamID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50660215/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com