当前位置: 代码迷 >> Android >> Android HttpClient根本使用方法
  详细解决方案

Android HttpClient根本使用方法

热度:82   发布时间:2016-05-01 11:27:47.0
Android HttpClient基本使用方法

这里只介绍如何使用HttpClient发起GET或者POST请求

?

?

GET 方式

?

?

Java代码 复制代码?收藏代码
  1. //先将参数放入List,再对参数进行URL编码 ??
  2. List<BasicNameValuePair>?params?=?new?LinkedList<BasicNameValuePair>(); ??
  3. params.add(new?BasicNameValuePair("param1",?"中国")); ??
  4. params.add(new?BasicNameValuePair("param2",?"value2")); ??
  5. ??
  6. //对参数编码 ??
  7. String?param?=?URLEncodedUtils.format(params,?"UTF-8"); ??
  8. ??
  9. //baseUrl??????????? ??
  10. String?baseUrl?=?"http://ubs.free4lab.com/php/method.php"; ??
  11. ??
  12. //将URL与参数拼接 ??
  13. HttpGet?getMethod?=?new?HttpGet(baseUrl?+?"?"?+?param); ??
  14. ???????????? ??
  15. HttpClient?httpClient?=?new?DefaultHttpClient(); ??
  16. ??
  17. try?{ ??
  18. ????HttpResponse?response?=?httpClient.execute(getMethod);?//发起GET请求 ??
  19. ??
  20. ????Log.i(TAG,?"resCode?=?"?+?response.getStatusLine().getStatusCode());?//获取响应码 ??
  21. ????Log.i(TAG,?"result?=?"?+?EntityUtils.toString(response.getEntity(),?"utf-8"));//获取服务器响应内容 ??
  22. }?catch?(ClientProtocolException?e)?{ ??
  23. ????//?TODO?Auto-generated?catch?block ??
  24. ????e.printStackTrace(); ??
  25. }?catch?(IOException?e)?{ ??
  26. ????//?TODO?Auto-generated?catch?block ??
  27. ????e.printStackTrace(); ??
  28. }??
//先将参数放入List,再对参数进行URL编码List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();params.add(new BasicNameValuePair("param1", "中国"));params.add(new BasicNameValuePair("param2", "value2"));//对参数编码String param = URLEncodedUtils.format(params, "UTF-8");//baseUrl			String baseUrl = "http://ubs.free4lab.com/php/method.php";//将URL与参数拼接HttpGet getMethod = new HttpGet(baseUrl + "?" + param);			HttpClient httpClient = new DefaultHttpClient();try {    HttpResponse response = httpClient.execute(getMethod); //发起GET请求    Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码    Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容} catch (ClientProtocolException e) {    // TODO Auto-generated catch block    e.printStackTrace();} catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();}
?

?

?

POST方式

?

?

Java代码 复制代码?收藏代码
  1. //和GET方式一样,先将参数放入List ??
  2. params?=?new?LinkedList<BasicNameValuePair>(); ??
  3. params.add(new?BasicNameValuePair("param1",?"Post方法")); ??
  4. params.add(new?BasicNameValuePair("param2",?"第二个参数")); ??
  5. ???????????? ??
  6. try?{ ??
  7. ????HttpPost?postMethod?=?new?HttpPost(baseUrl); ??
  8. ????postMethod.setEntity(new?UrlEncodedFormEntity(params,?"utf-8"));?//将参数填入POST?Entity中 ??
  9. ???????????????? ??
  10. ????HttpResponse?response?=?httpClient.execute(postMethod);?//执行POST方法 ??
  11. ????Log.i(TAG,?"resCode?=?"?+?response.getStatusLine().getStatusCode());?//获取响应码 ??
  12. ????Log.i(TAG,?"result?=?"?+?EntityUtils.toString(response.getEntity(),?"utf-8"));?//获取响应内容 ??
  13. ???????????????? ??
  14. }?catch?(UnsupportedEncodingException?e)?{ ??
  15. ????//?TODO?Auto-generated?catch?block ??
  16. ????e.printStackTrace(); ??
  17. }?catch?(ClientProtocolException?e)?{ ??
  18. ????//?TODO?Auto-generated?catch?block ??
  19. ????e.printStackTrace(); ??
  20. }?catch?(IOException?e)?{ ??
  21. ????//?TODO?Auto-generated?catch?block ??
  22. ????e.printStackTrace(); ??
  23. }??
//和GET方式一样,先将参数放入Listparams = new LinkedList<BasicNameValuePair>();params.add(new BasicNameValuePair("param1", "Post方法"));params.add(new BasicNameValuePair("param2", "第二个参数"));			try {    HttpPost postMethod = new HttpPost(baseUrl);    postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //将参数填入POST Entity中				    HttpResponse response = httpClient.execute(postMethod); //执行POST方法    Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码    Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容				} catch (UnsupportedEncodingException e) {    // TODO Auto-generated catch block    e.printStackTrace();} catch (ClientProtocolException e) {    // TODO Auto-generated catch block    e.printStackTrace();} catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();}
?
  相关解决方案