Tôi cố gắng kết nối với máy chủ qua https yêu cầu xác thực. Hơn nữa, tôi có một proxy http ở giữa cũng yêu cầu xác thực. Tôi sử dụng ProxyAuthSecurityHandler để xác thực với proxy và BasicAuthSecurityHandler để xác thực với máy chủ.Không thể đường hầm qua proxy. Proxy trả về "HTTP/1.1 407" qua https
Nhận java.io.IOException: Không thể truyền qua proxy.
Proxy returns "HTTP/1.1 407 Proxy Auth Required"
at sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:1525)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (AbstractDelegateHttpsURLConnection.java:164)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at org.apache.wink.client.internal.handlers.HttpURLConnectionHandler.processRequest(HttpURLConnectionHandler.java:97)
Tôi nhận thấy rằng việc triển khai ProxyAuthSecurityHandler đang chờ mã phản hồi 407 tuy nhiên, trong khi gỡ lỗi, chúng tôi không bao giờ nhận được phần thứ hai do IOException được ném.
Mã snap:
ClientConfig configuration = new ClientConfig();
configuration.connectTimeout(timeout);
MyBasicAuthenticationSecurityHandler basicAuthProps = new MyBasicAuthenticationSecurityHandler();
basicAuthProps.setUserName(user);
basicAuthProps.setPassword(password);
configuration.handlers(basicAuthProps);
if ("true".equals(System.getProperty("setProxy"))) {
configuration.proxyHost(proxyHost);
if ((proxyPort != null) && !proxyPort.equals("")) {
configuration.proxyPort(Integer.parseInt(proxyPort));
}
MyProxyAuthSecurityHandler proxyAuthSecHandler =
new MyProxyAuthSecurityHandler();
proxyAuthSecHandler.setUserName(proxyUser);
proxyAuthSecHandler.setPassword(proxyPass);
configuration.handlers(proxyAuthSecHandler);
}
restClient = new RestClient(configuration);
// create the createResourceWithSessionCookies instance to interact with
Resource resource = getResource(loginUrl);
// Request body is empty
ClientResponse response = resource.post(null);
Cố gắng sử dụng các phiên bản client nháy mắt 1.1.2 và 1.2.1 cũng. vấn đề lặp lại trong cả hai.