Python Slack API下载二进制文件返回html

9jyewag0  于 2023-10-14  发布在  Python
关注(0)|答案(1)|浏览(101)

我可以通过Python Slack API将文件上传到Slack通道。我无法使用message['files'][0]['url_private_download']中指示的URL下载二进制文件。
相反,当使用requests.getwget -mO <file-name> <url>curl <url> --output <file-name>时,我得到了40KB的HTML。
奇怪的是,我可以在Chrome浏览器中输入相同的URL,然后下载二进制文件。
似乎有什么事情正在幕后进行。我不知道该怎么做。
有什么建议?

okxuctiv

okxuctiv1#

当HTTP客户端检索文件时,它需要以类似的方式向API提供其凭证。如果您的令牌具有正确的权限,则HTTP请求将使用文件内容进行响应。
在curl请求中,您通常会使用像-H "Authorization: Bearer xoxb-xxxxxxxxx-xxxx"这样的参数将bot令牌作为bearer令牌呈现。在此上下文中特别需要基于头的身份验证。
由于会话和Cookie携带有关用户和您正在交互的工作区的授权信息,因此请求在您的浏览器中工作。

相关问题