当需要登录时,使用python从cloud.google.com下载公共文件
我正在尝试下载twitter错误信息/选举完整性数据集,网址为: 但它需要登录。我没有使用谷歌应用引擎,只是在我的笔记本电脑上运行python 3。我编写了以下代码来下载这些文件:当需要登录时,使用python从cloud.google.com下载公共文件,python,python-3.x,google-cloud-platform,urllib,pycurl,Python,Python 3.x,Google Cloud Platform,Urllib,Pycurl,我正在尝试下载twitter错误信息/选举完整性数据集,网址为: 但它需要登录。我没有使用谷歌应用引擎,只是在我的笔记本电脑上运行python 3。我编写了以下代码来下载这些文件: for a_url in download_urls: filename = os.path.join(data_path, os.path.basename(a_url)) if not os.path.isfile(filename): #urllib.request.urlr
for a_url in download_urls:
filename = os.path.join(data_path, os.path.basename(a_url))
if not os.path.isfile(filename):
#urllib.request.urlretrieve(a_url, filename)
with open(filename, 'wb') as f:
c = pycurl.Curl()
c.setopt(c.URL, a_url)
c.setopt(c.WRITEDATA, f)
c.setopt(c.CAINFO, certifi.where())
c.perform()
c.close()
有没有一种方法可以让我在下载这些文件的同时避免登录到我的google帐户?
还是有一种简单的方法可以通过python登录?
几乎所有的在线信息都是如何在GAE环境中实现这一点,我并没有尝试连接到bucket。提到的URL表示文件是从中提供的。由于需要登录,这意味着不需要对象 为这些文件提供服务的应用程序使用以用户为中心的OAuth 2.0流。发件人: 云存储用于API身份验证和 授权。身份验证是确定身份的过程 客户的身份
- 以用户为中心的流程允许应用程序从最终用户获取凭据。用户登录以完成身份验证
有没有一种方法可以在下载这些文件的同时避免登录到我的google帐户?
这里的答案应该是否定的。否则它就是一个bug——你可以绕过谷歌云安全;)
我找不到pycurl
的详细信息,但是curl
本身并没有将OAuth 2.0列为受支持的。发件人:
HTTP
- 身份验证:基本、摘要、NTLM(*9)和协商(SPNEGO)(*3)到服务器和代理
pycurl
下载文件。至少不是直接的(可能通过代理?)
一种可能的替代方法是在脚本中使用(作为任何其他外部进程启动):
- 您首先要使用获取身份验证令牌李>
- 然后启动脚本,其中的
执行将使用以前获得的身份验证令牌gsutil
gsutil
,而不需要云SDK,但我没有这样使用它。也许你的案子值得调查一下。发件人:
gsutil config
命令适用于安装了gsutil的用户
作为一个独立的工具
gsutil config
命令获取Google的访问凭据
云存储并写入一个boto/gsutil配置文件,其中包含
获得的凭证以及许多其他凭证
配置可控值
上面提到的URL表示这些文件来自。由于需要登录,这意味着不需要对象 为这些文件提供服务的应用程序使用以用户为中心的OAuth 2.0流。发件人: 云存储用于API身份验证和 授权。身份验证是确定身份的过程 客户的身份
- 以用户为中心的流程允许应用程序从最终用户获取凭据。用户登录以完成身份验证
有没有一种方法可以在下载这些文件的同时避免登录到我的google帐户?
这里的答案应该是否定的。否则它就是一个bug——你可以绕过谷歌云安全;)
我找不到pycurl
的详细信息,但是curl
本身并没有将OAuth 2.0列为受支持的。发件人:
HTTP
- 身份验证:基本、摘要、NTLM(*9)和协商(SPNEGO)(*3)到服务器和代理
pycurl
下载文件。至少不是直接的(可能通过代理?)
一种可能的替代方法是在脚本中使用(作为任何其他外部进程启动):
- 您首先要使用获取身份验证令牌李>
- 然后启动脚本,其中的
执行将使用以前获得的身份验证令牌gsutil
gsutil
,而不需要云SDK,但我没有这样使用它。也许你的案子值得调查一下。发件人:
gsutil config
命令适用于安装了gsutil的用户
作为一个独立的工具
gsutil config
命令获取Google的访问凭据
云存储并写入一个boto/gsutil配置文件,其中包含
获得的凭证以及许多其他凭证
配置可控值
您是否可以包括在尝试下载文件时遇到的错误?是否有API调用来获取此数据而不是在每个文件上使用pycurl?您是否可以包括在尝试下载文件时遇到的错误?是否有API调用来获取此数据而不是在每个文件上使用pycurl?