gpt4 book ai didi

python-3.x - 向外部服务器发出 POST 请求时出现 SSL 证书错误

转载 作者:行者123 更新时间:2023-12-04 22:41:22 25 4
gpt4 key购买 nike

我正在尝试使用请求库向 https://app.getswift.co/api/public/v2/deliveries 发出发布请求,但出现以下错误

HTTPSConnectionPool(host='app.getswift.co', port=443): Max retries exceeded with url: /api/public/v2/deliveries (Caused by SSLError(CertificateError("hostname 'app.getswift.co' doesn't match either of '*.my_domain.ai', 'another.my_domain.ai'),))

这是我提出的要求。
headers = {
'Content-Type': 'application/json',
}

data = {
"apiKey": "my-api-key",
"booking": {
"pickupDetail": {
"name": "Rupert 1",
"phone": "1234567890",
"address": "112 luscombe st, brunswick, melbourne"
},
"dropoffDetail": {
"name": "Igor 2",
"phone": "0987654321",
"address": "105 collins st, 3000"
}
}
}
requests.post("https://app.getswift.co/api/public/v2/deliveries", headers=headers, json=data)

我在我的本地 python shell 上测试了相同的代码,甚至发出了 postman 请求,它工作得非常好。当我尝试将相同的代码推送到 ec2 服务器并进行发布请求调用时,问题就出现了。

我尝试使用 verify=False 来查看它是否有效(即使我知道安全后果),但相反,我得到了 "404 Not found"
这是我在 ec2 日志中看到的
Not Found: /api/public/v2/deliveries 

HTTP POST /api/public/v2/deliveries 404 [0.01, 127.0.0.1:57840]
https://app.getswift.co:443 "POST /api/public/v2/deliveries HTTP/1.1" 404 None

我将不胜感激任何帮助。

最佳答案

如果不访问确切的页面很难判断,但是您能否添加其他标题,例如 User-Agent 和 cookies=cookies ?我认为该页面可能正在检查身份验证,而您没有正确进行身份验证。

否则,也可能是 ec2 服务器位于代理/vpn 后面,就像 AWS 服务器一样。在这种情况下,您可以尝试信任环境。

s = requests.Session()
s.trust_env = False

response = s.get("https://app.getswift.co/api/public/v2/deliveries", headers=headers, json=data)

如果它不起作用,那么 API 可能只是阻塞了您的 ec2 服务器。尝试在另一个区域制作一个 ec2 或使用另一个 VPS,看看它是否有效。

关于python-3.x - 向外部服务器发出 POST 请求时出现 SSL 证书错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60733966/

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