提问人:Itachi07 提问时间:11/15/2023 最后编辑:Brian Tompsett - 汤莱恩Itachi07 更新时间:11/15/2023 访问量:67
简单 Python API 调用 - 主机名不匹配,证书无效
Simple Python API Call - Hostname mismatch, certificate is not valid
问:
我正在尝试使用请求模块使用以下 API:
https://www.planit.org.uk/api/
我的代码如下(使用他们在 API 文档中提供的示例):
import pandas as pd
import requests
url = "https://planit.org.uk//api/applics/json?auth=Hackney&start_date=2010-10-01&end_date=2010-10-02&pg_sz=10"
r = requests.get(url)
print(r)
我收到以下错误:
requests.exceptions.SSLError: HTTPSConnectionPool(host='planit.org.uk', port=443): 超出了最大重试次数,网址: //api/applics/json?auth=Hackney&start_date=2010-10-01&end_date=2010-10-02&pg_sz=10 (由 SSLError(SSLCertVerificationError(1, “[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'planit.org.uk'.(_ssl.c:1000)“)))
谁能确定为什么我收到这个错误?
答:
1赞
Steffen Ullrich
11/15/2023
#1
服务器返回的证书对“www.planit.org.uk”有效,但对“planit.org.uk”(不带“www”)无效。这可能是由于服务器配置错误,但也可能是不应该使用“planit.org.uk”来调用它,即客户端的配置错误。
1赞
tadman
11/15/2023
#2
不会为该主机名配置证书,仅为 .使用这样的工具进行检查,它可以更详细地解释。www.planit.org.uk
PSA:同时使用主机的“dub”和“dubless”版本时,请务必相应地预配证书。这是一件容易被忽视的事情。
评论
requests.get(url, verify=False)