Android(安卓)HttpClient GET或者POST请求基本使用方法
16lz
2021-01-24
在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.这里只介绍如何使用HttpClient发起GET或者POST请求 在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务。你可以把HttpClient想象成一个浏览器,通过它的API我们可以很方便的发出GET,POST请求(当然它的功能远不止这些)
这里只介绍如何使用HttpClient发起GET或者POST请求 GET 方式
这里只介绍如何使用HttpClient发起GET或者POST请求 GET 方式
//先将参数放入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方式
//和GET方式一样,先将参数放入List params = 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(); }
更多相关文章
- Android播放视频的方式
- AsyncTask、View.post(Runnable)、ViewTreeObserver三种方式总结
- Android两种杀掉进程方式总结(System.exit()和Process.killProce
- Android(安卓)JNI 使用的数据结构JNINativeMethod详解
- Android轮询机制
- Android(安卓)用 ListView 实现倒计时列表功能
- Android图形系统分析与移植 -- 三、内核空间显示功能介绍
- 漫谈Android数据缓存、数据序列化和Intent传递复杂数据
- Android布局方式(AbsoluteLayout)学习