HttpClient的基本用法

具体步骤如下所示:

(1)创建HttpClient对象。

(2)指定访问网络的方式,创建一个HttpPost对象或者HttpGet对象。

(3)如果需要发送请求参数,可以调用HttpGet,HttpPost都具有的setParams()方法。对于HttpPost对象而言,也可调用setEntity()方法来设置请求参数。

(4)调用HttpClient对象的execute()方法访问网络,并获取HttpResponse对象

(5)调用HttpResponse.getEntity()方法获取HttpEntity的实例对象,该对象包装了服务器的响应内容,也就是所请求的数据。


 在使用HttpClient访问网络时需要用到的几个常用类如下

                                                               HttpClient常用类介绍表

      常用类名称                                               功能描述                                                                         
HttpClient请求网络的接口
DefaultHttpClient实现了HttpClient接口的类
HttpGet使用GET方式请求必须创建该类实例
HttpPost使用POST方式请求必须创建该类实例
nameValuePair关联参数的Key Value
BasicNameValuePair以Key  Value的形式存放参数的类
UrlEncodeedFormEntity将提交给服务器参数进行编码的类
HttpResponse封装了服务器返回信息的类(包含头信息)
HttpEntity封装了服务返回数据的类


上表中介绍了HttpClient几个常用类及他们的作用,下面通过一段示列代码可以更好的理解如何使用HttpClient访问网络和这些类在访问网络时的用法

如下:

 //获取到HttpClient对象

HttpClient client=new DefaultHttpClient();                 第一步
HttpPost httpPost=new HttpPost("http://www.baidu.com");    第二步
List<NameValuePair> params=new ArraryList<NameValuePair>();
//创建一个NameValuePair集合,用于添加参数
params.add(new BasicNameValuePair("username","admin"));
给参数设置编码
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(params,"utf-8");
//设置参数(请求参数)
httpPost.setEntity(entity);           第三步
//获取HttpResponse对象
HttpResponse httpResponse=client.execute(httpPost);     第四步
//获取状态码
int statusCode=httpResponse.getStatusLine().getStatusCode();
if(statusCode==200){   //访问成功
//获取HttpEntity的实例
    HttpEntity  httpEntity=httpResponse.getEntity();         第五步
//设置编码格式
    String response=EntityUtils.toString(httpEntity,"utf-8");
}



上述代码演示了如何使用HttpClient访问服务器并获取返回的数据。需要注意的是, 使用POST方式设置参数时,需要创建一个NameValuePair的集合来添加参数。在给参数设置编码时,需要与服务器的解码格式保持一致性,否则会出现中文乱码的情况








  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值