Android http发布登录

时间:2011-06-27 08:42:38

标签: php android json http login

我正在尝试通过Android应用登录我的网站。出于某种原因,总会出现问题。

这是我的网站登录结构:

Login.php - 登录表单(用户名和密码)

Auth.php - 登录身份验证页面(从页面获取用户名和密码 - login.php(POST方法)) 我已经要与Username&密码(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) {

           }

    }

修改

我将两个页面(login& auth)合并到一个页面,当我调用该方法时,responseStr获取整个页面的html代码。

由于

1 个答案:

答案 0 :(得分:0)

您无法使用toString方法记录响应正文。

responseEntity中返回的对象可以作为InputStream读取,或者更简单,转换为带有EntityUtils类的字符串。

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

尝试记录responseStr。