python - IBM Watson Machine Learning 的入站 SSL 错误

标签 python ssl machine-learning ibm-cloud

我在 Bluemix 上有一个 Cloud Foundry 应用程序 (Python buildpack),在过去的几个月里,它已成功连接并使用绑定(bind)到它的 Watson Machine Learning (WML) 服务。但是,从今天早上开始,我在尝试调用该服务时收到 SSL 错误。该错误可能在今天之前就开始了,我今天早上才注意到。

我使用 Python 请求从应用程序调用 WML。我还尝试使用 Postman 调用该服务.

这是相关的 Python 代码(已经运行了几个月):

import requests
spssUrl = 'https://palbyp.pmservice.ibmcloud.com/pm/v1/{model}'
spssModelscore = 'score/bikeride'

spssParams = {"accesskey": accessKey, "metadatatype": "score"}
spssHeaders = {"Content-Type": "application/json"}

spssResults = requests.post(spssUrl.format(model = spssModelscore), data=json.dumps(modelPayload), params=spssParams, headers=spssHeaders)

这是我看到的错误:

requests.exceptions.SSLError
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

最近有什么变化吗?是否需要在我的应用程序/客户端中执行任何其他配置才能连接到该服务?

更新

我发现我可以通过在请求中禁用 SSL 验证(添加 verify=False)来成功调用 WML。

spssResults = requests.post(spssUrl.format(model = spssModelscore), data=json.dumps(modelPayload), params=spssParams, headers=spssHeaders, verify=False)

显然这不是解决这个问题的正确方法。任何指导?我想知道 WML 最近是否开始使用更新的 SSL 证书,该证书不在 requests 正在使用的 CA 列表中——并且无法以某种方式验证。

更新

发现SSL证书已过期。

SSL Expired screenshot

最佳答案

IBM 安装了一个 updated SSL certificate .现在连接工作正常。

关于python - IBM Watson Machine Learning 的入站 SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42279587/

相关文章:

python - 在Python中,应该如何测试环境变量中指定的路径中是否存在文件?

node.js - http服务器中的NodeJS err-ssl-protocol-error

apache-spark - 使用 Spark Dataframe 以相反的顺序删除相同的单词作为重复项

python - svc.predict 可以返回结果以及其他类的概率吗?

python - 从根到选定节点的树路径 - Pythonic 方式

python - 期望使用 BeautifulSoup 从 HTML 页面中提取字符串,但得到 "None"

python - 如何使用python在mysql中使用rowcount

php - Codeigniter 发送谷歌邮件错误

ssl - HSTS 预加载列表 - www 站点可能出现的 SEO 问题

amazon-s3 - 在 Git Repo 与 S3 中存储 NLP 模型?