File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Linux / UNIX and the fly likes NTLM url access through java: getPasswordAuthentication does not get called on Linux Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "NTLM url access through java: getPasswordAuthentication does not get called on Linux" Watch "NTLM url access through java: getPasswordAuthentication does not get called on Linux" New topic
Author

NTLM url access through java: getPasswordAuthentication does not get called on Linux

sandhya gokhale
Greenhorn

Joined: Nov 05, 2008
Posts: 4
I am using "Authenticator" to do http authentication, for URL's which
require
http authentication.

Code is as follow:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.MalformedURLException;
import java.net.PasswordAuthentication;
import java.net.URL;

public class AuthDemo {
public static void main(String args[]) throws MalformedURLException,
IOException {
String urlString = "";
String username = "";
String password = "";
Authenticator.setDefault(new MyAuthenticator(username, password));
URL url = new URL(urlString);
InputStream content = (InputStream) url.getContent();
BufferedReader in = new BufferedReader(new InputStreamReader
(content));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
System.out.println("Done.");
}

static class MyAuthenticator extends Authenticator {
private String username, password;

public MyAuthenticator(String user, String pass) {
username = user;
password = pass;
}

protected PasswordAuthentication getPasswordAuthentication() {
System.out.println("Requesting Host : " + getRequestingHost());
System.out.println("Requesting Port : " + getRequestingPort());
System.out.println("Requesting Prompt : " + getRequestingPrompt
());
System.out.println("Requesting Protocol: "
+ getRequestingProtocol());
System.out.println("Requesting Scheme : " + getRequestingScheme
());
System.out.println("Requesting Site : " + getRequestingSite());
return new PasswordAuthentication(username, password.toCharArray
());
}
}

}

Even after specified proper url, username & password, i am still
getting HTTP 401 i.e. unauthorised http error.
I have observed that MyAuthenticator::getPasswordAuthentication() is
not getting called.

Setup Details:
Machine OS: Red Hat Linux
JRE: 1.5.0_05-b05

Can anyone comment this issue?

Thanks,
Suraj
Jolly Gupta
Greenhorn

Joined: May 04, 2010
Posts: 1
Hey, did you figure out that why getPasswordAuthentication does not get called on Unix? I'm facing same issue. I have observed that MyAuthenticator::getPasswordAuthentication() is getting called on my windows workstation but not on UNIX. any help would highly be appreciated!!
Bhakthavatsala Reddy Boggula
Greenhorn

Joined: Mar 21, 2011
Posts: 3
Any one have solution on this Problem, please post the sollution if you have?
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: NTLM url access through java: getPasswordAuthentication does not get called on Linux
 
Similar Threads
Logging in to a site programmatically
how to use HTTPUrlConncection with user and password
HTTP authentication - can't figure it out!
NTLM url access through java: getPasswordAuthentication does not get called on Linux
java.io.IOException: Server returned HTTP response code: 401 for URL: