Я использую NTLM
аутентификацию в своем веб-приложении, аналогичном этому , для получения некоторых данных из другого домена.Раньше он работал нормально.
После обновления JDK 1.7 я начал получать исключение java.net.ProtocolException: Server redirected too many times (20)
.Я не знаю, происходит ли это из-за обновления 1.7 (это может быть просто совпадением).
Код почти такой же, как этот:
// Install the custom authenticator
Authenticator.setDefault(new MyAuthenticator());
// Access the page
try {
// Create a URL for the desired page
URL url = new URL("http://hostname:80/index.html");
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
// str is one line of text; readLine() strips the newline character(s)
}
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
public class MyAuthenticator extends Authenticator {
// This method is called when a password-protected URL is accessed
protected PasswordAuthentication getPasswordAuthentication() {
// Get information about the request
String promptString = getRequestingPrompt();
String hostname = getRequestingHost();
InetAddress ipaddr = getRequestingSite();
int port = getRequestingPort();
// Get the username from the user...
String username = "myusername";
// Get the password from the user...
String password = "mypassword";
// Return the information
return new PasswordAuthentication(username, password.toCharArray());
}
}
Может кто-нибудь помочьменя в этом отношении?