为了账号安全,请及时绑定邮箱和手机立即绑定

从 Slack 获取 PDF 文件 url 并在 Python 中转换为 base64

从 Slack 获取 PDF 文件 url 并在 Python 中转换为 base64

RISEBY 2023-09-19 17:14:17
我有一个场景,用户将 PDF 上传到 Slack 机器人。我从 Slack 响应中获取 URL 并将其传递给 Base64 编码器。编码器看起来像:def convertPdfToBase64(url):     page = urllib.request.Request(url,headers={'User-Agent': 'Mozilla/5.0'})     encoded_string = base64.b64encode(urllib.request.urlopen(page).read()).decode("utf-8")         return encoded_string当我将 URL 传递给 ConvertPdfToBase64() 时,它会以 HTML 文档而不是 PDF 的形式返回编码字符串。我什至尝试获取重定向的 URL,但没有成功。Slack 响应 URL 示例: https://files.slack.com/files-pri/T01ASGU49-F01BPN6GSFM/file__1_.pdf来自 requests.head() 的重定向 URL: https://microsoft-rm67093.slack.com/ ?redir=%2Ffiles-pri%2FT01AU49-F01BPSFM%2Ffile__1_.pdfr = requests.head('https://files.slack.com/files-pri/T01ASGU49-F01BPN6GSFM/file__1_.pdf', allow_redirects=True) print(r.url)但是,当我获取最初从响应中获得的 URL 并将其粘贴到浏览器中时,它会重定向到与我从 requests.head() 获得的链接不同的链接,并且在将该 URL 传递给 ConvertPdfToBase64() 后,我得到了正确的 Base64 编码字符串。浏览器重定向至: https://slack-files.com/files-pri-safe/T01ASG1PU49-F01BGSFM/file__1_.pdf ?c=16014784-3a7c2a18cefbef我在这里缺少什么?如何获取浏览器重定向的URL?
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

添加 page.add_header('Authorization', 'Bearer ' + token) 有效。



查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 54 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信