hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From srihari na <namasrih...@gmail.com>
Subject Target server digest authentication fails with Proxy Basic auth
Date Tue, 21 May 2013 09:28:45 GMT
Hi Folks,

We are trying to do HTTPGet on a target server enabled with Digest
authentication. It works perfectly fine, however when proxy with basic
authentication is introduced target authentication is failing. We are using
IBM JDK, HTTP Client 4.2.5. Has anybody faced similar issues and knows a
fix to it?

Code:
HttpHost proxy = new HttpHost(proxyHost, 808);
HttpHost target = new HttpHost(targetHost, 80);
HttpGet req = new HttpGet("/default.asp");
Credentials targetCredentials = new UsernamePasswordCredentials(targetUser,
targetpassword);
Credentials proxyCredentials = new UsernamePasswordCredentials(proxyUser,
proxyPassword);
 DefaultHttpClient httpclient = null;
        try {
        final PoolingClientConnectionManager connectionManager = new
PoolingClientConnectionManager();
        httpclient = new DefaultHttpClient(connectionManager);
            HttpContext localContext = new BasicHttpContext();
            req.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,
proxy);
            System.out.println("executing request to " + target + " via " +
proxy);
            httpclient.getCredentialsProvider().setCredentials(new
AuthScope(proxy), proxyCredentials);
            httpclient.getCredentialsProvider().setCredentials(new
AuthScope(target), targetCredentials);
            HttpResponse rsp = httpclient.execute(target, req,localContext);
            AuthState proxyAuthState = (AuthState)
localContext.getAttribute(ClientContext.PROXY_AUTH_STATE);
            System.out.println("Proxy auth state: " +
proxyAuthState.getState());
            System.out.println("Proxy auth scheme: " +
proxyAuthState.getAuthScheme());
            System.out.println("Proxy auth credentials: " +
proxyAuthState.getCredentials());
            AuthState targetAuthState = (AuthState)
localContext.getAttribute(ClientContext.TARGET_AUTH_STATE);
            System.out.println("Target auth state: " +
targetAuthState.getState());
            System.out.println("Target auth scheme: " +
targetAuthState.getAuthScheme());
            System.out.println("Target auth credentials: " +
targetAuthState.getCredentials());

            HttpEntity entity = rsp.getEntity();

            if (entity != null) {
                System.out.println(EntityUtils.toString(entity));
            }

        }catch (Exception e) {
} finally {
            httpclient.getConnectionManager().shutdown();
        }

}

-- 
Regards,
Srihari NA

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message