wood burning stoves 2.0*
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
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

Bhakthavatsala Reddy Boggula
Greenhorn

Joined: Mar 21, 2011
Posts: 3
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,
Bhakthavatsla Reddy B
Stefan Wagner
Ranch Hand

Joined: Jun 02, 2003
Posts: 1923

Please use the code tags.
Thank you.


http://home.arcor.de/hirnstrom/bewerbung
Bhakthavatsala Reddy Boggula
Greenhorn

Joined: Mar 21, 2011
Posts: 3
Hi Stefan Wagne, Thanks for your post ..but what are the code tags, please explain clearly.
Stefan Wagner
Ranch Hand

Joined: Jun 02, 2003
Posts: 1923

Bhakthavatsala Reddy Boggula wrote:Hi Stefan Wagne, Thanks for your post ..but what are the code tags, please explain clearly.


You pick a bit of code (with indentation, please) (will not be visible if not in code tags, as here.

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

You mark it with the mouse, and hit the button No. 8 from left in the somehow red border of this field, named 'Code', and, voila!

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: NTLM url access through java: getPasswordAuthentication does not get called on Linux