gpt4 book ai didi

python-3.x - 谷歌云存储客户端库 - 在代理后面 - 使用 python 代码访问存储桶对象?

转载 作者:行者123 更新时间:2023-12-05 03:08:29 29 4
gpt4 key购买 nike

vmware 上的 Centos Linux - gsutil 正在运行,但我正在尝试使用 python 代码从谷歌云存储下载对象。在 python 代码下运行失败,因为我在代理服务器后面。我尝试导出 http_proxy 和 https_proxy,还通过 .boto 添加它(尽管我猜只有 gsutil 使用它)。但没有一个有效。

我在文档中也找不到任何关于代理设置的提及。

from google.cloud import storage

storage_client = storage.Client()
bucket = storage_client.get_bucket('my-bucket')
blobs=bucket.list_blobs()

OSError: [Errno 101] 网络不可达

*更新 24-JULY-17 - 已解决 *

re-installed google cloud storage library and my script works fine with HTTP_PROXY set in the env. Not sure about the root cause for initial troubles and I was not able to reproduce the error again unfortunately.

最佳答案

虽然,google-cloud python library不直接支持代理,如果设置了它,它会接受 HTTPS_PROXY 环境变量。

或者:

export HTTPS_PROXY=https://mycustomproxy.example.com:12345
python your_python_script.py

或者:

export https_proxy=https://mycustomproxy.example.com:12345
python your_python_script.py

你也可以直接在你的 python 脚本中设置它(最好是在最开始):

import os
os.environ['https_proxy'] = 'https://mycustomproxy.example.com:12345'

from google.cloud import storage
storage_client = storage.Client()
bucket = storage_client.get_bucket('my-bucket')
blobs=bucket.list_blobs()

顺便说一句,urllib 模块支持 https_proxy,因此所有使用 urllib< 的库(如 google-cloud)均受支持 可以透明地为请求使用代理。

关于python-3.x - 谷歌云存储客户端库 - 在代理后面 - 使用 python 代码访问存储桶对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45173466/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com