我正在构建一个简单的应用程序监视器来轮询我们的一个 API URL,如果它无法从响应中获取 HTTP 200 状态代码(这表明我们的 API 由于某种原因而关闭),则向我们发送电子邮件。
我正在使用 HttpClient 4.1(这很重要,因为它的 API 与3.x有很大不同)。
我们的 API 使用 SSL 是安全的,但是输入:
进入网络浏览器会将您重定向到
不会造成任何错误。
当 HttpClient 尝试访问此 URL ( http://example.com/our-api
) 时,它会失败并出现javax.net.ssl.SSLPeerUnverifiedException
异常并显示一条消息:
对等体未通过身份验证
正如这篇文章所证明的那样,我看到其他人经常发生这种情况(它还提供了一些规避这个问题的方法——事实上,我今晚将尝试实施的解决方案)。
这个其他帖子(以及其他类似的帖子)没有做的是首先解释为什么会发生这种情况!所以,与其问“我该如何解决这个问题?” 我想我会问“为什么会发生这种情况? ”在我继续提出建议的解决方案之一之前,我想知道我正在尝试解决的问题是什么 ;-)