package jftt.test;import java.io.IOException;import java.util.List;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.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import android.util.Log;public class HttpRequest {    /**     *Post请求     */    public void doPost(String url , List<NameValuePair> nameValuePairs){        //新建HttpClient对象          HttpClient httpclient = new DefaultHttpClient();        //创建POST连接        HttpPost httppost = new HttpPost(url);        try {//            //使用PSOT方式,必须用NameValuePair数组传递参数//            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();//            nameValuePairs.add(new BasicNameValuePair("id", "12345"));//            nameValuePairs.add(new BasicNameValuePair("stringdata","hps is Cool!"));            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));            HttpResponse response = httpclient.execute(httppost);        } catch (ClientProtocolException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }        /**     *Get请求     */    public void doGet(String url){        HttpParams httpParams = new BasicHttpParams();        HttpConnectionParams.setConnectionTimeout(httpParams,30000);          HttpConnectionParams.setSoTimeout(httpParams, 30000);                      HttpClient httpClient = new DefaultHttpClient(httpParams);          // GET        HttpGet httpGet = new HttpGet(url);        try {            HttpResponse response = httpClient.execute(httpGet);            if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK){                Log.i("GET", "Bad Request!");            }        } catch (IOException e) {            e.printStackTrace();        }    }}

需要主要的是:

1. 使用POST方式时,传递参数必须使用NameValuePair数组

2. 使用GET方式时,通过URL传递参数,注意写法

3.通过setEntity方法来发送HTTP请求

4.通过DefaultHttpClient 的 execute方法来获取HttpResponse

5. 通过getEntity()从Response中获取内容

Stringcontent=EntityUtils.toString(response.getEntity());

JSON:

    /**      *Post请求      * @throws IOException      * @throws ClientProtocolException      */      public static String doPost(String url , List<NameValuePair> nameValuePairs) throws ClientProtocolException, IOException{         String result = null;        //新建HttpClient对象            HttpClient httpclient = new DefaultHttpClient();          //创建POST连接          HttpPost httppost = new HttpPost(url);          httppost.setHeader("content-type", "application/json");        try {            if(nameValuePairs != null) {                StringEntity entity = new StringEntity("这里是JSON数据,如{"id":"12","name":"xiaoming"}", "utf-8");                entity.setContentType("application/json");                entity.setContentEncoding("utf-8");                httppost.setEntity(entity);            }              //            if(nameValuePairs != null) {//                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));  //            }            HttpResponse response = httpclient.execute(httppost);              if (response.getStatusLine().getStatusCode() != 404)            {                    result = EntityUtils.toString(response.getEntity());                    Logger.d(TAG, "Response: " + result);            }        } finally {                    }        return result;    }

特别说明:抄的“右撇子”的。怕他最后删掉了找不着,所以复制过来了。原文链接:

http://blog.csdn.net/feng88724/article/details/6170021

更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. Android(安卓)浅析 Volley (一) 使用
  6. android tab的使用
  7. Android(安卓)Studio 使用中遇到的问题和解决方案
  8. Android(安卓)Sdk Manager更新
  9. android中使用iconfont

随机推荐

  1. Android Twitter分享,即Twitter授权Oauth
  2. 配置Android(安卓)SDK 开发环境
  3. Android UI目录
  4. Android 实现从网络上异步加载图像
  5. android layout_weight讲解
  6. android 中 application 的使用
  7. Drawable Mutations(Android Drawable 深
  8. Android Studio 解决错误 Could not find
  9. Android Drawable Resource学习(二)、Bitma
  10. [置顶] Android 65K问题之Multidex原理分