Ошибка при использовании java.net для подключения к веб-сайту - PullRequest
0 голосов
/ 23 ноября 2011

Я пытаюсь войти на сайт, используя java.net в Google App Engine для Java.Идентификатор и пароль для входа хранятся в переменных 'loginid' и 'password' соответственно.

Код, который я создал, приведен ниже:

public Integer login()
{

    String param1="", param2="", query="";
    String charset = "UTF-8";
    String loginurl = "https://website.com/login";
    try {
        param1 = URLEncoder.encode(loginid, "UTF-8");
        param2 = URLEncoder.encode(password, "UTF-8");
        query = String.format("username=%s&password=%s", 
                 URLEncoder.encode(param1, charset), 
                 URLEncoder.encode(param2, charset));
    } catch (UnsupportedEncodingException ex) {
        // ...
    }
    try {
        URL url = new URL(loginurl + "?" + query);
        BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
        String line="";
        String resp="";
        while ((line = reader.readLine()) != null) {
        resp=resp + line;
        }
         actionmessage=" Response-" + resp;              
            return(1);   
    }

    catch (Exception e) {
        // ...

    }
  }

Я хочу узнать больше опара вещей с указанным выше кодом.

  1. Я уверен, что я ввел правильный ID и пароль, но все равно получаю ошибку при входе.Что не так с приведенным выше кодом?

  2. Как проверить, успешно ли выполнена отправка, выполненная с помощью вышеуказанного кода, или есть ошибка?Если есть ошибка, как я могу получить поток ошибок?

1 Ответ

0 голосов
/ 23 ноября 2011

Это была ошибка с моей стороны - я дважды закодировал 2 параметра, переданных во входной URL!Так что сайт, на котором я проходил аутентификацию, получил искаженное значение для имени пользователя и пароля!

...