我有一個場景,用戶將 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
提交
取消