как заставить Unirest (Java) игнорировать ошибку сертификата

Я использую Unirest (Java-версия) для выполнения запросов GET и POST. Но я сталкиваюсь с проблемой при доступе к зашифрованному SSL-сайту, поскольку моя программа находится в корпоративной сети, а сетевой администратор настроил для меня сопоставление брандмауэра. Напримерfoobar.com сопоставлен с56.1.89.12:4444, Но когда я сделаю запрос по адресу, я получу следующую ошибку сертификата ssl:

com.mashape.unirest.http.exceptions.UnirestException: javax.net.ssl.SSLException: hostname in certificate didn't match: <56.1.89.12> != <www.foobar.com>
    at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:131)
    at com.mashape.unirest.request.BaseRequest.asString(BaseRequest.java:52)

я вижуUnirest имеет предварительную настройку для использования пользовательскихhttpclient.Так я использую

Unirest.setHttpClient(MyHttpClient.makeClient());
HttpResponse<String> res = null;
try {
    res = Unirest.get(urlstr).asString();
} catch (UnirestException e) {
    e.printStackTrace();
}
String jsonstr = res.getBody();

makeClient методMyHttpClient является:

public static HttpClient makeClient(){
 SSLContextBuilder builder = new SSLContextBuilder();
 CloseableHttpClient httpclient = null;
    try {
        // builder.loadTrustMaterial(null, new TrustSelfSignedStrategy());
        builder.loadTrustMaterial(null, new TrustStrategy(){
            public boolean isTrusted(X509Certificate[] chain, String authType)
                throws CertificateException {
                return true;
            }
        });
        SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
                builder.build());
        httpclient = HttpClients.custom().setSSLSocketFactory(
                sslsf).build();
        System.out.println("custom httpclient called");
        System.out.println(httpclient);

    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (KeyStoreException e) {
        e.printStackTrace();
    } catch (KeyManagementException e) {
        e.printStackTrace();
    }

return httpclient;
}

основная идея взята изИгнорирование SSL-сертификата в Apache HttpClient 4.3

Но все же это не сработало. Есть предложения?

Ответы на вопрос(4)

Ваш ответ на вопрос