【问题标题】:Why does a post request to update steam avatar not work?为什么更新 Steam 头像的帖子请求不起作用?
【发布时间】:2020-08-16 23:25:30
【问题描述】:

我正在尝试向site* 上传带有发布请求的新头像,但它不起作用。我试图模仿我通过谷歌浏览器上传文件时所做的请求,但也没有任何反应。
这是代码

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 有这方面的 API 文档吗?你可能想检查一下。 API令牌/密钥也正确吗?你应该使用表格吗?
  • 它不使用 Steam 的 API。授权密钥是steamLoginSecure。我只想发送一个附有文件的 POST 请求。
  • 除非您在 Steam 上提供文档链接,否则您很可能不会得到有用的答案。请提供有关该操作的更多信息。
  • 我搜索了github,发现this。这是我想做的。可悲的是,我不太擅长 curl,我不太了解这些功能。

标签: python post request steam-web-api


【解决方案1】:

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

服务器很可能需要会话数据、特定的 cookie 标头、人工用户代理等,因此机器人将无法上传。

编辑:

查看robots.txt

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

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

【讨论】:

    猜你喜欢
    • 2015-01-09
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多