나는 HttpClient 객체를위한 프록시 설정에 대한 아이디어를 얻으려고하고있다. 나는 그 아래의 코드를 발견했다.HttpClient 객체에 대한 프록시를 설정하면 어떻게됩니까?
HttpHost proxy = new HttpHost("proxy.com", 80, "http");
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
CloseableHttpClient httpclient = HttpClients.custom()
.setRoutePlanner(routePlanner)
.build();
그리고 코드 아래 , 우리는 HttpClient를 위해이 같은 프록시를 지정해야하는 이유
/**
* How to send a request via proxy.
*
* @since 4.0
*/
public class ClientExecuteProxy {
public static void main(String[] args)throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpHost target = new HttpHost("httpbin.org", 443, "https");
HttpHost proxy = new HttpHost("127.0.0.1", 8080, "http");
RequestConfig config = RequestConfig.custom()
.setProxy(proxy)
.build();
HttpGet request = new HttpGet("/");
request.setConfig(config);
System.out.println("Executing request " + request.getRequestLine() + " to " + target + " via " + proxy);
CloseableHttpResponse response = httpclient.execute(target, request);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
System.out.println(EntityUtils.toString(response.getEntity()));
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
}
누군가가 설명 할 수 객체 어떻게 이러한 시나리오 모두에서 HttpClient를 개체 동작합니다?
응답 해 주셔서 감사합니다. "제 의견으로는 JVM 프록시 옵션을 설정하여 Java 레벨 프록시 세부 사항을 구성해야합니다." 이 진술을 자세히 설명해 주시겠습니까? – prime
다음과 같이 VM 프록시 세부 정보를 설정할 수 있습니다. -Dhttp.proxyHost = hostname -Dhttp.proxyPort = port – amitmah