使用HttpClient发送请求参数

除了使用Get 和Post方式发送参数以外,Android也集成了HttpClient这一框架,HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

HttpClient简介:

HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient 的应用可以参见http://wiki.apache.org/jakarta-httpclient/HttpClientPowered

下面是上次的例子,只是用的HttpClient的方法

   

public static byte[] sendPostRequestHttpClient(String path, Map<String, String> params, String encode) throws Throwable{
   List<NameValuePair> paramspairs = new ArrayList<NameValuePair>();
   if(params!=null && !params.isEmpty()){
    for(Map.Entry<String, String> entry : params.entrySet()){
     paramspairs.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
    }
   }
   UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramspairs, encode);//对请求参数进行编码,得到实体数据
   HttpPost post = new HttpPost(path);
   post.setEntity(entity);
   DefaultHttpClient httpClient = new DefaultHttpClient();//建立浏览器对象
   HttpResponse response = httpClient.execute(post);
   return StreamTool.readInStream(response.getEntity().getContent());
}
   

}

httpclient入门: http://www.ibm.com/developerworks/cn/opensource/os-httpclient/
httpclient证书导入:http://www.blogjava.net/happytian/archive/2006/12/22/89447.html
httpclient高级认识:http://laohuang.javaeye.com/blog/55613
httpclient官方文档:http://hc.apache.org/httpcomponents-client/index.html
httpclient资源关闭:http://www.javaeye.com/topic/234759

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值