【问题标题】:AWS lambda call with urllib3.PoolManager().request() -> {'message': 'Forbidden'}使用 urllib3.PoolManager().request() 调用 AWS lambda -> {'message': 'Forbidden'}
【发布时间】:2021-06-25 16:14:00
【问题描述】:

我在 AWS 上有一个 lambda,我将它与 urllib3 一起使用。 它工作了一个月。

今天试了一下,现在进不去了。它返回给我:{'message': 'Forbidden'}

import urllib3, json

http = urllib3.PoolManager(cert_reqs = 'CERT_NONE')#
http.verify = True

def get_request(url):
    print("sending GET request at",url)
    try:
        r = http.request('GET', url)
        response = json.loads(r.data.decode("utf-8"))
        print("api_connector request:",response)
        return response["statusCode"], response["body"]
    except Exception as e:
        print(e)
        print("http request failed")
        return -1, str(e)

err, err_msg = api_connector.get_request(
            "https://xxxxx.execute-api.eu-west-3.amazonaws.com/xxx/xxxxxx?filename=" + filename)

我看到了一些关于这个错误的帖子,但是:

1 - 当我谈论我的 lambda 时,谈论抓取他人的网站!所以没有人应该阻止我?

2 - 它之前一直在工作,有一天,它停止了......那我应该尝试什么?我有点迷路了:/

【问题讨论】:

  • 您在谈论“lambda”,但您正在调用 API 网关(并从中获得禁止的响应)。尝试在您的代码之外调用该服务,例如来自邮递员。请注意,当 url 错误时,您会收到同样的错误,可能是该 API 方面发生了一些变化。
  • 现在您访问的 API 好像不正确。

标签: python amazon-web-services aws-lambda urllib3


【解决方案1】:

好的,我发现是因为朋友在 API Gateway 上添加了 AWS 证书。

【讨论】:

    猜你喜欢
    • 2021-12-21
    • 1970-01-01
    • 2019-05-26
    • 2021-11-23
    • 2016-05-03
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    相关资源
    最近更新 更多