首页 > 系统 > Android > 正文

android平台HttpGet、HttpPost请求实例

2019-10-24 20:37:07
字体:
来源:转载
供稿:网友
出自网络搜索引擎巨头的Android平台,其对网络的支持自然不用多说,在Android SDK中已经集成了Apache的HttpClient模块。使用HttpClient模块,我们就可以使用HTTP协议进行网络连接了
 

使用HttpClient中的HttpGet()方法进行http通信的实例:

复制代码代码如下:

/**  
 *description:Android HttpGet()  
 *authour:YanEr·Gates  
 *website:http://www.vevb.com
 */

 

package me.gogogoog; 

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MyHttpGetActivity extends Activity{
 /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState){  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.result);

        TextView resultText = (TextView) this.findViewById(R.id.resultText);         

        String username="username";  
        String password="password"; 

        String httpUrl = "http://192.168.1.90:8080/AndroidLogin/loginAction.do?method=login&username="+username+"&password="+password;    
        //创建httpRequest对象 
        HttpGet httpRequest = new HttpGet(httpUrl);
  try
  {
   //取得HttpClient对象
   HttpClient httpclient = new DefaultHttpClient();
   //请求HttpClient,取得HttpResponse
   HttpResponse httpResponse = httpclient.execute(httpRequest);
   //请求成功
   if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
   {
    //取得返回的字符串
    String strResult = EntityUtils.toString(httpResponse.getEntity());
    resultText.setText(strResult);
   }
   else
   {
    resultText.setText("请求错误!");
   }
  }
  catch (ClientProtocolException e)
  {
   resultText.setText(e.getMessage().toString());
  }
  catch (IOException e)
  {
   resultText.setText(e.getMessage().toString());
  }
  catch (Exception e)
  {
   resultText.setText(e.getMessage().toString());
  }   
    }
}


使用HttpClient中的HttpPost()方法进行http通信的实例:
复制代码代码如下:
/**  
*description:Android HttpPost()  
*authour:YanEr·Gates  
*website:http://www.vevb.com
*/ 
package me.gogogoog; 

 

import java.io.IOException; 

import java.util.ArrayList;  
import java.util.List;  
import org.apache.http.HttpEntity;  
import org.apache.http.HttpResponse;  
import org.apache.http.HttpStatus;  
import org.apache.http.NameValuePair;  
import org.apache.http.client.ClientProtocolException;  
import org.apache.http.client.HttpClient;  
import org.apache.http.client.entity.UrlEncodedFormEntity;  
import org.apache.http.client.methods.HttpPost;  
import org.apache.http.impl.client.DefaultHttpClient;  
import org.apache.http.message.BasicNameValuePair;  
import org.apache.http.util.EntityUtils;  
import android.app.Activity;  
import android.widget.TextView;  

public class ResultActivity extends Activity{ 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState){  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.result); 

        TextView resultText = (TextView) this.findViewById(R.id.resultText);                  
        String username="username";  
        String password="password";  
        String httpUrl = "http://192.168.1.90:8080/AndroidLogin/loginAction.do?method=login"; 

        //创建httpRequest对象  
        HttpPost httpRequest = new HttpPost(httpUrl);  

        List<NameValuePair> params = new ArrayList<NameValuePair>();  
        params.add(new BasicNameValuePair("username", username));  
        params.add(new BasicNameValuePair("password", password)); 

        try{  
            //设置字符集  
            HttpEntity httpentity = new UrlEncodedFormEntity(params, "gb2312"); 

            //请求httpRequest  
            httpRequest.setEntity(httpentity); 

            //取得默认的HttpClient  
            HttpClient httpclient = new DefaultHttpClient(); 

            //取得HttpResponse  
            HttpResponse httpResponse = httpclient.execute(httpRequest); 

            //HttpStatus.SC_OK表示连接成功  
            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){  
                //取得返回的字符串  
                String strResult = EntityUtils.toString(httpResponse.getEntity());  
                resultText.setText(strResult);  
            }else{  
                resultText.setText("请求错误!");  
            }  
        }catch (ClientProtocolException e){  
            resultText.setText(e.getMessage().toString());  
        } catch (IOException e){  
            resultText.setText(e.getMessage().toString());  
        }catch (Exception e){  
            resultText.setText(e.getMessage().toString());  
        }   
    }  
}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表