Java 绕过DNS查找并向代理提交URL

Java 绕过DNS查找并向代理提交URL,java,proxy,dns,apache-httpclient-4.x,apache-commons-httpclient,Java,Proxy,Dns,Apache Httpclient 4.x,Apache Commons Httpclient,我有一个Java应用程序,它使用ApacheHttpComponents发出web请求。 我已经使用JVM属性将应用程序配置为使用代理服务器 java-Dhttp.proxyHost=127.0.0.1-Dhttp.proxyPort=3132 目前,我的java应用程序客户端进行DNS查找,但会失败。 我希望代理能够像web浏览器在自动代理配置模式下(使用.pac文件)一样进行DNS解析 试试看这里: 似乎您需要使用setProxy()而不是全局属性指定代理。仅记录如何让HttpClient

我有一个Java应用程序,它使用ApacheHttpComponents发出web请求。 我已经使用JVM属性将应用程序配置为使用代理服务器

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

目前,我的java应用程序客户端进行DNS查找,但会失败。 我希望代理能够像web浏览器在自动代理配置模式下(使用.pac文件)一样进行DNS解析

试试看这里:


似乎您需要使用setProxy()而不是全局属性指定代理。

仅记录如何让HttpClient选择系统代理设置

CloseableHttpClient client = HttpClients.custom()
    .setRoutePlanner(
         new SystemDefaultRoutePlanner(ProxySelector.getDefault()))
    .build();
或者,如果您希望根据系统特性完全配置HttpClient,也可以这样做

CloseableHttpClient client = HttpClients.createSystem();