Android基础笔记——HttpClient访问网络
来源:互联网 发布:爱淘宝和淘宝的区别 编辑:程序博客网 时间:2024/05/19 16:33
首先,HttpClient是一个接口,因此无法创建它的实例,通常情况下都会创建一个DefaultHttpClient的实例:
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://www.baidu.com");httpClient.execute(httpGet);
如果是一个POST请求,会比GET请求稍微复杂一点。
首先我们需要创建一个HttpPost对象,并传入目标的网络地址:
HttpPost httpPost = new HttpPost("http://www.baidu.com");然后通过一个 NameValuePair集合来存放待提交的参数,并将这个参数集合传入到一个UrlEncodedFormEntity中,然后调用 HttpPost的 setEntity()方法将构建好的UrlEncodedFormEntity传入:
List<NameValuePair> params = new ArrayList<NameValuePair>();params.add(new BasicNameValuePair("username", "admin"));params.add(new BasicNameValuePair("password", "123456"));UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "utf-8");httpPost.setEntity(entity);最后调用HttpClient 的 execute()方法,并将 HttpPost 对象传入即可:
httpClient.execute(httpPost);
通过GET或者POST方法给服务器发送请求完成之后,会获得服务器的反馈,得到一个HttpResponse对象,服务器返回的信息都包含在这里面。
通常情况下,我们会先获得服务器返回的状态码,如果等于200,说明请求和响应都成功:
if (httpResponse.getStatusLine().getStatusCode() == 200) {// 请求和响应都成功了}接下来在这个 if判断的内部取出服务返回的具体内容,可以调用 getEntity()方法获取到一个 HttpEntity 实例, 然后再用 EntityUtils.toString()这个静态方法将 HttpEntity转换成字符串即可,如下所示:
HttpEntity entity = httpResponse.getEntity();String response = EntityUtils.toString(entity);注意如果服务器返回的数据是带有中文的,直接调用 EntityUtils.toString()方法进行转换会有乱码的情况出现,这个时候只需要在转换的时候将字符集指定成 utf-8 就可以了,如下所示:
String response = EntityUtils.toString(entity, "utf-8");
0 0
- Android基础笔记——HttpClient访问网络
- Android使用HTTP协议访问网络——HttpClient
- android使用httpClient访问网络
- android基础笔记:访问网络图片
- android 基础 网络交互 HttpClient
- 安卓基础:使用HttpClient访问网络
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Tween 动画类
- 数学之路-sas备忘(10)
- wlw 配置
- hdu 5183 hash+前缀和
- 【很早以前的作品】3DDemo走迷宫
- Android基础笔记——HttpClient访问网络
- 查找表实现的CRC16
- ajax调用webservice
- 表连接
- PowerHA故障案例分析
- textView设置边框
- 等式构造(equation)清华推免生机考第三题
- C语言中注释、标识符以及关键字
- c语言内存分配