我有一个场景,用户将 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?
添加回答
举报
0/150
提交
取消