在 Pythonanywhere 上使用 Cloudinary 上传图像时出现 [错误 111]

Uploaded an image got [Error 111] using Cloudinary on Pythonanywhere

我正在使用 Pythonanywhere 正确存储我的 Django 代码和所有内容 运行 除了我尝试上传图像时。

我收到这个错误:

cloudinary.exceptions.Error: Unexpected error - MaxRetryError("HTTPSConnectionPool(host='api.cloudinary.com', port=443): Max retries exceeded with url: /v1_1/MY-CLOUD-NAME/image/upload (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f5de5f6e6d0>: Failed to establish a new connection: [Errno 111] Connection refused'))")

这是我在 model.py 中的代码:

from cloudinary.models import CloudinaryField

some class
    project_image = CloudinaryField("project_img", proxy="http://proxy.server:3128")

这是我在 setting.py 中的代码:

CLOUDINARY = {
  'cloud_name': 'CLOUD-NAME',  
  'api_key': 'xx',  
  'api_secret': 'xx,
}

CLOUDINARY_URL='cloudinary://xxx@CLOUD-NAME?api_proxy=proxy.server:3128'

我还尝试将 proxy.server 部分更改为:

- https://api.cloudinary.com/v1_1/MY-CLOUD-NAME

并在 CLOUDINARY 参数中添加 api_proxy 但它也不起作用

P.S。我正在使用一个免费的 Pythonanywhere 帐户,我做了一些研究,所有者说我必须将代理设置为 proxy.server:3128,但我不知道该怎么做

P.S.2 到目前为止我尝试做的事情

您的设置是否尝试设置 api 如下:

CLOUDINARY = {
  'cloud_name': 'CLOUD-NAME',  
  'api_key': 'xx',  
  'api_secret': 'xx',
  'api_proxy': 'http://proxy.server:3128'
}

this github 发表评论中所述。

如果您使用的是 pythonanywhere 免费帐户,则它不允许您访问 CDN URL,因为它未列入白名单。您必须升级到付费帐户,您的应用才能访问此 URL。