`java.net.SocketException: сброс соединения` по запросу с прокси - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь отправить HTTP-запрос POST на сайт с HTTPS-прокси.

Я сейчас так и делаю:

System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");
HttpPost request = new HttpPost("https://example.com");

                    HttpHost proxy2 = new HttpHost("proxy ip here", 8080, "https");
                    RequestConfig config = RequestConfig.custom()
                            .setProxy(proxy2)
                            .build();
                    request.setConfig(config);


                    String json = "\"" + username + "\"";
                    StringEntity entity = new StringEntity(json);
                    request.setEntity(entity);
                    request.setHeader("Accept", "application/json");
                    request.setHeader("Content-type", "application/json");

                    CloseableHttpResponse response = httpclient.execute(request, context);

                    HttpEntity entityresponse = response.getEntity();
                    responseString = EntityUtils.toString(entityresponse, "UTF-8");

                    response.close();
                    httpclient.close();

Но я получаю это: java.net.SocketException: Connection reset

Я пробовал много прокси и разных URL, но та же проблема есть.

Работает нормально, если я задаю URL-адрес HTTP и параметр http в строке прокси-хоста, но я хочу HTTPS: /

Любая помощь будет оценена.

Спасибо!

1 Ответ

0 голосов
/ 09 сентября 2018

Если вы хотите вызвать https url, вам необходимо установить сертификат в папку jre security / lib.

Чтобы установить сертификат, выполните следующие действия:

  1. Скачать файл InstallCert.java из: https://confluence.atlassian.com/download/attachments/180292346/InstallCert.java?version=1&modificationDate=1315453596921
  2. Скопируйте InstallCert.java в любое место.
  3. запустите: javac InstallCert.java
  4. run: java InstallCert example.com:port
  5. Будет создан файл jssecacerts
  6. Скопируйте его в папку JAVA_HOME \ jre \ lib \ security

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...