为什么 post 更新 Steam 头像的请求不起作用?

Why does a post request to update steam avatar not work?

我正在尝试通过 post 请求向此 site* 上传新头像,但没有成功。我试图模仿我通过 google chrome 上传文件时所做的请求,但也没有任何反应。
这是代码

import requests

r = requests.post(
    url='https://steamcommunity.com/actions/FileUploader?type=player_avatar_image&sId=STEAM64ID',
    files=
        {
            'file': open('test.png', 'rb')
        },
    cookies=
        {
            'sessionid': '',            #Left blank for privacy reasons
            'steamLoginSecure': '',   
            'steamCountry': '',
            'browserid': ''
        }
)

print(r.cookies)

当我运行代码时,这是输出

<RequestsCookieJar[]>

它不应该打印我发送的cookie吗?

*sId=Your steam64id

这个动作应该由人通过浏览器完成吗?如果是这样,Steam 可能会采取措施阻止您的程序/机器人使用此操作。

服务器很可能需要 session 数据、特定 cookie headers、人类用户代理等,这样机器人将无法上传。

编辑:

勾选 robots.txt:

User-agent: *
Disallow: /actions/
Disallow: /linkfilter/
Disallow: /tradeoffer/
Disallow: /trade/
Disallow: /email/
Host: steamcommunity.com

您显然不允许在您的程序中使用 /actions/ 路由,Steam 强制执行此规则。