java.net.ProtocolException: сервер перенаправлен слишком много раз (20) - PullRequest
2 голосов
/ 26 октября 2011

Я использую 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());
    }
}

Может кто-нибудь помочьменя в этом отношении?

...