android中http的get,post方法代码

android中http的get,post方法代码

分类: android 368人阅读 评论(0) 收藏 举报

    使用Http方法和服务器端连接,用于提交和获取数据。

    http的get方法和post方法,如果不清楚可以上网查询,我这只简单介绍,get方法就是把所有的参数都加入到http的url中,使用这个url访问服务器,post是把需要提交的参数放到httppost参数列表中,不在url中体现。

以下是android中http的代码,可以直接使用

  1. package com.example.util;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6. import java.util.Map.Entry;  
  7.   
  8. import org.apache.http.HttpResponse;  
  9. import org.apache.http.NameValuePair;  
  10. import org.apache.http.client.entity.UrlEncodedFormEntity;  
  11. import org.apache.http.client.methods.HttpGet;  
  12. import org.apache.http.client.methods.HttpPost;  
  13. import org.apache.http.impl.client.DefaultHttpClient;  
  14. import org.apache.http.message.BasicNameValuePair;  
  15. import org.apache.http.protocol.HTTP;  
  16. import org.apache.http.util.EntityUtils;  
  17.   
  18. import android.util.Log;  
  19.   
  20. public class HttpUtils {  
  21.     private static final String TAG = "HttpUtils";  
  22.       
  23.     /** 
  24.      * 向指定URL发送GET方法的请求 
  25.      *  
  26.      * @param url 
  27.      *            发送请求的URL 
  28.      * @return URL 所代表远程资源的响应结果 
  29.      */  
  30.     public static String sendGet(String url) {  
  31.         StringBuffer resultData = new StringBuffer();  
  32.           
  33.         Log.i(TAG,"url:"+url);  
  34.           
  35.         //建立http get联机  
  36.         HttpGet request = new HttpGet(url);  
  37.           
  38.         //建立连接  
  39.         try {  
  40.             HttpResponse response = new DefaultHttpClient().execute(request);    
  41.             String strResult = EntityUtils.toString(response.getEntity());   
  42.             resultData.append(strResult);  
  43.         } catch (Exception e) {  
  44.             // TODO: handle exception  
  45.         }  
  46.           
  47.         Log.i(TAG,"result:"+resultData.toString());  
  48.         return resultData.toString();  
  49.     }  
  50.       
  51.     /** 
  52.      * 向指定URL发送GET方法的请求 
  53.      *  
  54.      * @param url 
  55.      *            发送请求的URL 
  56.      * @param param 
  57.      *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 
  58.      * @return URL 所代表远程资源的响应结果 
  59.      */  
  60.     public static String sendGet(String url, String param) {  
  61.         StringBuffer resultData = new StringBuffer();  
  62.           
  63.         String realUrl = url+"?"+param;  
  64.         Log.i(TAG,"url:"+realUrl);  
  65.           
  66.         //建立http get联机  
  67.         HttpGet request = new HttpGet(realUrl);  
  68.           
  69.         //建立连接  
  70.         try {  
  71.             HttpResponse response = new DefaultHttpClient().execute(request);    
  72.             String strResult = EntityUtils.toString(response.getEntity());   
  73.             resultData.append(strResult);  
  74.         } catch (Exception e) {  
  75.             // TODO: handle exception  
  76.         }  
  77.           
  78.         Log.i(TAG,"result:"+resultData.toString());  
  79.         return resultData.toString();  
  80.     }  
  81.       
  82.     /** 
  83.      * 向指定 URL 发送POST方法的请求 
  84.      *  
  85.      * @param url 
  86.      *            发送请求的 URL 
  87.      * @param param param<key,value>格式的post参数 
  88.      *             
  89.      * @return 所代表远程资源的响应结果字符串 
  90.      */  
  91.     public static String sendPost(String url, Map<String, String>param) {  
  92.         StringBuffer resultData = new StringBuffer();  
  93.           
  94.         Log.i(TAG,"url:"+url);  
  95.           
  96.         //建立http post联机  
  97.         HttpPost request = new HttpPost(url);  
  98.           
  99.         //添加post参数  
  100.         List<NameValuePair> postParams = new ArrayList<NameValuePair>();  
  101.         for (Entry<String, String> e : param.entrySet()) {  
  102.             postParams.add(new BasicNameValuePair(e.getKey(), e.getValue()));  
  103.         }  
  104.           
  105.         try {  
  106.             request.setEntity(new UrlEncodedFormEntity(postParams, HTTP.UTF_8));  
  107.             HttpResponse response = new DefaultHttpClient().execute(request);  
  108.             String strResult = EntityUtils.toString(response.getEntity());   
  109.             resultData.append(strResult);  
  110.         } catch (Exception e) {  
  111.             // TODO: handle exception  
  112.             e.printStackTrace();  
  113.         }  
  114.           
  115.         Log.i(TAG,"result:"+resultData.toString());  
  116.         return resultData.toString();  
  117.     }     
  118. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值