Android http Post Войти - PullRequest
0 голосов
/ 27 июня 2011

Я пытаюсь войти на свой сайт через приложение для Android.Почему-то всегда что-то идет не так.

Вот структура входа в мой сайт:

Login.php - форма входа (имя пользователя и пароль)

Auth.php - страница авторизации для входа в систему (получает имя пользователя и пароль со страницы - login.php (метод POST)) Я уже должен взаимодействовать с именем пользователя и паролем (EditText оба)

Какой способ входа в систему с помощью приложения для Android?

вот мой текущий метод входа:


private void login() {

         HttpClient httpclient = new DefaultHttpClient();  
         HttpPost httppost = new HttpPost("http://url/auth.php");  
         JSONObject jsonObject = new JSONObject();

           try {  

               List nameValuePairs = new ArrayList(2);  
               jsonObject.put("action", "login");
               jsonObject.put("username", "user1");
               jsonObject.put("password", "12345");

               nameValuePairs.add(new BasicNameValuePair("jsonString", jsonObject.toString()));               

               httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
               HttpResponse response = httpclient.execute(httppost);


               String responseStr = org.apache.http.util.EntityUtils.toString(response.getEntity());

               statusText.setText(responseStr);
           } catch (ClientProtocolException e) {  
               statusText.setText(e.getLocalizedMessage());
           } catch (IOException e) {   
               statusText.setText(e.getLocalizedMessage());
           } catch (JSONException e) {

           }

    }

Редактировать:

Я объединил обе страницы (логин и авторизация) в одну страницу, когда я вызываю метод, responseStr получает HTML-код всей страницы.

Спасибо

1 Ответ

0 голосов
/ 27 июня 2011

Невозможно записать тело ответа с помощью метода toString.

Объект, возвращаемый в responseEntity, может быть прочитан как InputStream или, проще, преобразован в строку с классом EntityUtils.

String responseStr = org.apache.http.util.EntityUtils.toString(response.getEntity());

Попробуйте зарегистрировать responseStr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...