UnknownHostException при доступе к облачному серверу через httpclient, но отлично работает в браузере Chrome - PullRequest
0 голосов
/ 13 октября 2019

Я работаю над инструментом тестирования, который запускает API непосредственно на сервер и проверяет его ответ. все работало нормально, пока приложение не было перемещено на удаленный облачный сервер.

Я использую apache httpclient в своем инструменте, как показано ниже.

CloseableHttpClient client = HttpClients.createDefault();
HttpGet get = new HttpGet(url);
get.setHeader("Content-Type", "application/json");
HttpResponse response = client.execute(get);

Теперь я получаю

java.net.UnknownHostException: This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server ("server url")
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
at java.net.InetAddress.getAllByName(InetAddress.java:1192)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112)
at org.apache.http.impl.conn.BasicHttpClientConnectionManager.connect(BasicHttpClientConnectionManager.java:325)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at RESTAPI.HttpClientTester.main(HttpClientTester.java:62)

Я получаю ту же ошибку после установки предпочитаемого IPv4, как true.

  System.setProperty("java.net.preferIPv4Stack" , "true");

Я запутался, потому что он отлично работает в браузере Chrome и в инструменте SOAP UI. Я копал это в течение 3 дней и искал все связанные вопросы / статьи. все еще не мог решить это. Что я сделал не так?. Любая помощь будет оценена.

...