从android应用程序登录到网页

从android应用程序登录到网页,android,http,login,Android,Http,Login,我是Android新手,今天遇到了一个问题。我想登录此网站: 并且从源代码中检索一些数据,但我当然不知道从哪里开始。你能给我一些关于这个问题的建议或文献吗 谢谢你们,伙计们 我有以下代码: public void postLoginData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); /* login.php return

我是Android新手,今天遇到了一个问题。我想登录此网站:

并且从源代码中检索一些数据,但我当然不知道从哪里开始。你能给我一些关于这个问题的建议或文献吗

谢谢你们,伙计们

我有以下代码:

public void postLoginData() {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();

    /* login.php returns true if username and password is equal to saranga */
    HttpPost httppost = new HttpPost("http://pedidos.pizzeriabritannia.com/index.asp?Opc=Pedir");

    try {
        // Add user name and password


        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("username", "942037851"));
        nameValuePairs.add(new BasicNameValuePair("password", "xxxxxx"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        Log.w("SENCIDE", "Execute HTTP Post Request");
        HttpResponse response = httpclient.execute(httppost);

        String str = inputStreamToString(response.getEntity().getContent()).toString();
        Log.w("SENCIDE", str);

        if(str.toString().equalsIgnoreCase("true"))
        {
         Log.w("SENCIDE", "TRUE");
         et1.setText("Login successful");   
        }else
        {
         Log.w("SENCIDE", "FALSE");
         et1.setText("Login not successful");             
        }

    } catch (ClientProtocolException e) {
     e.printStackTrace();
    } catch (IOException e) {
     e.printStackTrace();
    }
} 

private StringBuilder inputStreamToString(InputStream is) {
 String line = "";
 StringBuilder total = new StringBuilder();
 // Wrap a BufferedReader around the InputStream
 BufferedReader rd = new BufferedReader(new InputStreamReader(is));
 // Read response until the end
 try {
  while ((line = rd.readLine()) != null) { 
    total.append(line); 
  }
 } catch (IOException e) {
  e.printStackTrace();
 }
 // Return full string
 return total;
}
public void postloginanda(){
//创建一个新的HttpClient和Post头
HttpClient HttpClient=新的DefaultHttpClient();
/*如果用户名和密码等于saranga,login.php将返回true*/
HttpPost HttpPost=新的HttpPost(“http://pedidos.pizzeriabritannia.com/index.asp?Opc=Pedir");
试一试{
//添加用户名和密码
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“用户名”,“942037851”);
添加(新的BasicNameValuePair(“密码”,“xxxxxx”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
w(“SENCIDE”,“执行HTTP Post请求”);
HttpResponse response=httpclient.execute(httppost);
字符串str=inputStreamToString(response.getEntity().getContent()).toString();
Log.w(“SENCIDE”,str);
if(str.toString().equalsIgnoreCase(“true”))
{
Log.w(“SENCIDE”、“TRUE”);
et1.setText(“登录成功”);
}否则
{
Log.w(“SENCIDE”、“FALSE”);
et1.setText(“登录不成功”);
}
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
} 
私有StringBuilder inputStreamToString(InputStream为){
字符串行=”;
StringBuilder总计=新StringBuilder();
//在InputStream周围包装一个BufferedReader
BufferedReader rd=新的BufferedReader(新的InputStreamReader(is));
//读取响应直到结束
试一试{
而((line=rd.readLine())!=null){
合计.追加(行);
}
}捕获(IOE异常){
e、 printStackTrace();
}
//返回完整字符串
返回总数;
}

您要求的是所谓的数据刮取。您必须解析返回的HTML才能得到您的值。您可以自己制作合适的HTML解析器,但我推荐一个这样的库。

从源代码中检索数据是什么意思?您想访问服务器源代码中的一些数据吗?我想登录,然后是一个新的个人位置。在这里,我想了解一些关于用户的信息。