Question

I have Java application that uses Apache HttpComponents to make web request. I have configured the application to use Proxy Servers using the JVM Property

java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3132

Currently my java application client makes DNS lookup in which it will fail. I want the Proxy to do the DNS resolution just like how web browsers do in automatic Proxy configuration mode (with .pac files).

Was it helpful?

Solution 2

Try looking here: http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientExecuteProxy.java

It seems as though you need to specify a proxy using setProxy() and not global properties.

OTHER TIPS

Just for the record this how one can make HttpClient pick up system proxy settings

CloseableHttpClient client = HttpClients.custom()
    .setRoutePlanner(
         new SystemDefaultRoutePlanner(ProxySelector.getDefault()))
    .build();

or this if you want HttpClient fully configured based on system prperties

CloseableHttpClient client = HttpClients.createSystem();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top