http пост успешно залогинен? - PullRequest
       20

http пост успешно залогинен?

1 голос
/ 25 сентября 2011

Я пытаюсь войти на веб-сайт, которому нужно 3 параметра в команде post.Токен, usr_name и usr_password.

Токен всегда имеет следующее значение "545616f1e29bc538843ec7aa908122b1e".Я получаю это значение, выполняя HttpGet на странице входа в систему и сохраняю его в виде строки.

Если я выполняю вход через URL-адрес следующим образом https://www.xxxxx.com/xxxx/restricted/form/formelement=0123?usr_name=myuser&usr_password=mypass&token=545616f1e29bc538843ec7aa908122b1e вход успешен.* Как мне получить сборку ссылок и узнать, что я успешно вошел в систему?Спасибо за любые советы и помощь мне.

Мой код:

try {
            String webPage = "https://xxxxxxxx.com/xx/Authenticationserv";
            String name = username; // user input through editbox
            String password1 = password; // user input through editbox

            String authString = name + ":" + password1 + ":" + token + "=" + value;
            System.out.println("auth string: " + authString);
            byte[] authEncBytes = Base64.encodeBytesToBytes(authString.getBytes());
            String authStringEnc = new String(authEncBytes);
            System.out.println("Base64 encoded auth string: " + authStringEnc);

            URL url = new URL(webPage);
            URLConnection urlConnection = url.openConnection();
            urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);
            InputStream is = urlConnection.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);

            int numCharsRead;
            char[] charArray = new char[1024];
            StringBuffer sb1 = new StringBuffer();
            while ((numCharsRead = isr.read(charArray)) > 0) {
                sb1.append(charArray, 0, numCharsRead);
            }
            String result = sb1.toString();

            System.out.println("/// BEGIN ///");
            System.out.println(result);
            System.out.println("/// END ///");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();

1 Ответ

0 голосов
/ 25 сентября 2011

На самом деле, я думаю, вам нужно использовать POST метод для входа на ваш сайт. У меня была такая же проблема несколько недель назад, и я сделал это:добавьте в свои параметры сообщения значение ArrayList, и вы можете получить ответ от сервера, если вы вошли в систему через HttpResponse. И еще: я устанавливаю имя пользователя и пароль в коде, потому что это простоВы идея. Если у вас есть какие-либо вопросы, не стесняйтесь задавать.

Надеюсь, это поможет!

...