On Sun, 2011-04-17 at 20:03 +0530, Dilshan Edirisuriya wrote: > Hi , > > I have a web page that need to access with NTLM authentication on my local > machine and i can see the expected behavior with Web browsers. But when I > try to access same page using HTTPClient 4.1 I'm getting following > exception. > > > Apr 17, 2011 7:18:23 PM > org.apache.http.client.protocol.RequestTargetAuthentication process > SEVERE: Authentication error: Invalid name provided (Mechanism level: Could > not load configuration file C:\Windows\krb5.ini (The system cannot find the > file specified)) > Status :: HTTP/1.1 401 Unauthorized > >
Dilshan HttpClient chooses SPNEGO/kerberos auth scheme over NTLM per default in case the server supports both, as SPNEGO/kerberos is considered somewhat more secure than NTLM. You can alter the order of preferred auth schemes by using 'http.auth.target-scheme-pref' or 'http.auth.proxy-scheme-pref' parameters: http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html#d4e869 Just a general remark: when troubleshooting problems with HttpClient a wire / context log of the HTTP session exhibiting the problem helps a great deal. Oleg > This is my sample code and it exactly same as example given in here > http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html#ntlm > > DefaultHttpClient httpclient = new DefaultHttpClient(); > > NTCredentials creds = new NTCredentials("user", "pwd", "machin-name", > "machin-name"); > httpclient.getCredentialsProvider().setCredentials(AuthScope.ANY, creds); > > Host target = new HttpHost("localhost", 9090, "http"); > HttpContext localContext = new BasicHttpContext(); > > // Execute a cheap method first. This will trigger NTLM authentication > HttpGet httpget = new HttpGet("/hello1"); > HttpResponse response = httpclient.execute(target, httpget, > localContext); > HttpEntity entity = response.getEntity(); > System.out.println(" Status :: "+ response.getStatusLine()); > > > Further analyzing i found there is no 'Authorization:" header in outgoing > messages where this header is available with browser access. Please note > that I used same name/password/Domain for browser access too. > > Appreciate for any help to resolve this ? > > Thank you , > > Dilshan --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
