首页 > 解决方案 > 使用基本用户名和密码通过 Python 从 CloudFront 下载文件

问题描述

我获得了 CloudFront 中文件的 URL。我可以通过 Chrome 访问我需要的文件。每当我输入网址时,它都会自动下载。我只在第一次输入用户名和密码来获取文件(在浏览器中)。

网址如下所示:https : //abcsdjdfhdsk.cloudfront.net/somefolderhere/anumberishere/some_really_long_file_identifer

我的问题是,如何构建 requests.get 请求以自动下载文件。每当我访问新文件时(换掉 url 的最后一部分,即非常长的 id),它会自动下载,但仅在 Chrome 中。如果我清除我的历史记录和缓存并再次尝试,我会收到提示输入用户名和密码。我没有别的东西。

如果我尝试 requests.get(urlhere),那么我总是会收到 401 错误。

我可以在网络流量中看到它是 Amazon S3 如何使用 python 自动执行此操作?我需要更多的东西吗?

用以下代码修复

导入请求

从 requests.auth 导入 HTTPBasicAuth

headers = {'User-Agent': 'Mozilla/5.0'}

requests.get(reallylongurl, auth=HTTPBasicAuth(用户名, 密码), headers = headers)

标签: pythonamazon-s3downloadpython-requestsamazon-cloudfront

解决方案


用以下代码修复

导入请求

从 requests.auth 导入 HTTPBasicAuth

headers = {'User-Agent': 'Mozilla/5.0'}

requests.get(reallylongurl, auth=HTTPBasicAuth(用户名, 密码), headers = headers)


推荐阅读