Jersey Rest 클라이언트의 인증을 사용하여 프록시 설정을 구성하려고합니다. 처음에는 프록시가 인증을 필요로하지 않는 다음 코드를 사용했습니다.저지 - 버전 1.14의 프록시 자동 인증
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
그러나 프록시가 인증을 요구하면 작동하지 않습니다. 다음 코드 단편을 사용하여 HttpComponents 프로젝트에서 HttpClient 4.2.1과 함께 Jersey Apache http 클라이언트를 사용해 보았습니다.
final ApacheHttpClientConfig config = new DefaultApacheHttpClientConfig();
Map<String, Object> configProp = config.getProperties();
final String proxyHost = System.getProperty("http.proxyHost");
final String proxyPort = System.getProperty("http.proxyPort");
if(proxyHost != null && proxyPort != null){
configProp.put(DefaultApacheHttpClientConfig.PROPERTY_PROXY_URI, "http://" + proxyHost + ":" + proxyPort);
final String proxyUser = System.getProperty("http.proxyUser");
final String proxyPassword = System.getProperty("http.proxyPassword");
if(proxyUser != null && proxyPassword != null){
ApacheHttpClientState state = config.getState();
state.setProxyCredentials(AuthScope.ANY_REALM, proxyHost, Integer.parseInt(proxyPort), proxyUser, proxyPassword);
}
}
config.getState()에서 "ClassNotFoundException"오류가 발생합니다. HttpClient에서 Credentials 클래스의 경로가 변경되었고 저지 Apache Http Client가 Credentials 클래스를 찾을 수없는 것 같습니다.
제 질문은 "저지 또는 저지의 일반 버전에서 프록시 인증을 처리하는 다른 방법이 있습니까? 제가 잘못 했습니까?"
감사
-D
JVM을 매개 변수로 제공
프록시 매개 변수를 -D jvm 매개 변수로 전달하지만 프록시가 인증을 요구하면 어떻게 든 작동하지 않습니다. 왜 그런 생각이 들지? – coderC