Я создаю простой монитор приложения для опроса одного из наших URL-адресов API и отправки нам по электронной почте, если он не может получить код состояния HTTP 200 из ответа (, это будет означать, что наш API по какой-то причине не работает ).
Я использую HttpClient 4.1(это важно, потому что его API сильно отличается от 3.x ).
Наш API защищен с помощью SSL, однако ввод:
в веб-браузере перенаправляет вас на
Не вызывая никаких ошибок.
Когда HttpClient пытается перейти по этому URL-адресу(http://example.com/our-api
), происходит сбой с исключением javax.net.ssl.SSLPeerUnverifiedException
с сообщением:
peer not authenticated
Я вижу, что это часто происходит с другими людьми, о чем свидетельствует этот пост (, который также предоставляет некоторые способы обойти эту проблему -решение, которое я собираюсь попытаться реализовать сегодня вечером ).
Чего этот другой пост (и другие подобные ему )не делают, так это не объясняют, почему это происходит в первую очередь! Итак, вместо того, чтобы спрашивать «как мне это исправить?» Я решил спросить: «почему это происходит? » Прежде чем перейти к одному из предложенных решений, я хотел бы знать, в чем заключается проблема, которую я пытаюсь исправить;-)