Отправлять запрос HTTP-сообщения на веб-сайт входа?(Авторизация) - PullRequest
0 голосов
/ 31 марта 2012

У меня есть два класса:

public class ProtectedAuthorizer extends Authenticator {

public String authorizeProtectedUrl(String requestingUrl) {

    Authenticator.setDefault(new CustomAuthenticator());

    StringBuffer sb = null;

    try {
        URL url = new URL(requestingUrl);
        BufferedReader br = new BufferedReader(new InputStreamReader(
                url.openStream()));

        String in = "";
        sb = new StringBuffer();

        while ((in = br.readLine()) != null) {
            sb.append(in + "\n");
        }
        br.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return sb.toString();
}
}

А это мой второй класс:

    protected PasswordAuthentication getPasswordAuthentication() {

    String username = "username";
    String password = "password";

    String promptString = getRequestingPrompt();
    String hostname = getRequestingHost();
    InetAddress ipaddr = getRequestingSite();
    int port = getRequestingPort();

    System.out.println(promptString);
    System.out.println(hostname);
    System.out.println(ipaddr);
    System.out.println(port);

    return new PasswordAuthentication(username, password.toCharArray());
}

}

Я пытаюсь авторизоваться на этом сайте: https://id.ogplanet.com/login.og но всякий раз, когда я звоню

authorizeProtectedUrl("https://id.ogplanet.com/login.og"); 

это ничего не делает. Как я могу использовать эти 2 класса, чтобы авторизоваться на странице входа? (Отправьте HTTP-запрос на страницу входа).

1 Ответ

0 голосов
/ 31 марта 2012

Для выполнения связанных с HTTP вещей я рекомендую использовать Клиент Apache HTTP Components .На веб-сайте проекта есть несколько примеров .Посмотрите Пример входа в систему на основе формы .Мне кажется, что он очень хорошо подходит для вашего случая использования.

...