谈谈HttpUrlConnection与DefaultHttpClient一些区别

HttpClient封装的很庞大,很复杂,你必须按照,他封装的思想去使用它,导致它很不灵活。

相比之下,HttpUrlConnection很轻巧,很方便,很灵活。

HttpClient对于数据上面的封装,对请求数据包头加包体,响应数据的封装做的很好,使得发送请求数据

和接受响应数据进行处理很方便。

但是HttpClient对连接的管理和协议本身的封装做的不尽人意。

相比之下,HttpUrlConnection做的很好,可以不要我们去考虑这些细节,当然我们也可以去定制。

比如:

HttpClient下发送的包体数据,假如你不设置Content-Type,那他不会默认帮助你设置。

而HttpUrlConnection在post的时候,默认的Content-Type
是application/x-www-form-urlencoded。

只是HttpUrlConnection需要自己通过inputStream和outputStream去读写数据,这样会使用起来有点

繁琐。

本人还是比较喜欢用HttpUrlConnection,在它的基础上进行一下请求数据包和读数据包的一些封装,这样

使用起来,就完美了。

谈谈HttpUrlConnection与DefaultHttpClient一些区别,布布扣,bubuko.com

时间: 2024-08-07 00:18:40

谈谈HttpUrlConnection与DefaultHttpClient一些区别的相关文章

HttpURLConnection和HttpClient的区别

安卓中访问网络方式: Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HttpClient.这两种方式都支持HTTPS协议.以流的形式进行上传和下载.配置超时时间.IPv6.以及连接池等功能. 1.HttpClient: 优点:DefaultHttpClient和AndroidHttpClient都是HttpClient具体的实现类,都拥有众多的API,而且实现比较稳定,bug数量也很少.

谈谈innodb和myisam的区别

MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能. 以下是一些细节和具体实现的差别: ◆1.InnoDB不支持FULLTEXT类型的索引. ◆2.InnoDB 中不保存表的具体行数

工作那些事(十一)谈谈码农与农民工区别和发展之路

今天看到帖子: (从这里开始引用,红色为批注) http://bbs.csdn.NET/topics/390610815?page=1#post-395774111 发表于: 2013-10-10 14:24:29 现在才感悟到,码农与农民工真正区别: 1.农民工晚上不加班,因为打扰居民生活会被告.  码农要加班.农民工也很辛苦,起的很早,并且也要有手艺. 2,农民工下班,想喝酒,去买,想吃烧鸡,买一只.  码农晚饭,快餐店,解决.想吃只鸡,要掂量掂量月底怎么办.农民工有说的那么好吗? 3.农民

谈谈封装和抽象的区别

有一句名言:“软件领域的任何问题,都可以通过增加一个间接的中间层来解决”.分层架构的核心其实就是抽象的分层,每一层的抽象只需要而且只能关注本层相关的信息,从而简化整个系统的设计. 设计与分析的过程就是不停的进行抽象和封装,并且确定各个系统实体的细节.抽象是指将业务抽象为软件领域的元素(系统.模块或类):封装则是指定义元素的边界,隐藏实现,开放接口. 抽象,是指从众多的事务中抽取出具有共同的.本质性的特征作为一个整体.是共同特质的集合形式. 封装,是将通过抽象所得到的数据信息和操作进行结合,使其形

HttpClient和HttpURLConnection的使用和区别

https://www.cnblogs.com/liushuibufu/p/4140913.html 功能用法对比 从功能上对比,HttpURLConnection比HttpClient库要丰富很多,提供了很多工具,封装了http的请求头,参数,内容体,响应,还有一些高级功能,代理.COOKIE.鉴权.压缩.连接池的处理. HttpClient高级功能代码写起来比较复杂,对开发人员的要求会高一些,而HttpURLConnection对大部分工作进行了包装,屏蔽了不需要的细节,适合开发人员直接调用

谈谈软件工程与计算机科学的区别

计算机科学和软件工程专业同属计算机类专业,他们之间的关系十分紧密,但还是有很多区别的.众所周知,计算机系统由硬件系统与软件系统构成,计算机科学与技术专业偏重于硬件与计算机理论方面的学习研究,像计算机原理,计算机系统结构等方面的内容.当然也会涉及软件方面,但不是太深.而软件工程专业则主要偏重于应用与实践,主要是培养适应国内外软件产业市场需求的高素质.多层次.实用型软件人才. 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件

谈谈@@IDENTITY 和 SCOPE_IDENTITY()的区别

在ms sql server中一张表有自增长字段,最近插入表中记录的自增长字段可以通过@@IDENTITY或者SCOPE_IDENTITY()取得. 通常情况下@@IDENTITY 和 SCOPE_IDENTITY()可以起到同样的效果,但是也不尽然,他们两者之间还是有区别的.微软的文档上这样描述:@@IDENTITY and SCOPE_IDENTITY return the last identity value generated in any table in the current s

今天我们来谈谈绝对定位和相对定位的区别,和需要注意的问题;position:absolute|relative;

首先position:absolute|relative; 前者是绝对定位,后者是相对定位: position属性的四个值: static,relative,fixed,absolute; 重点重点重点: 相对定位元素经常用来作为绝对定位元素的容器块: absolute 定位使元素的位置与文档流无关,因此不占据空间. absolute 定位的元素和其他元素重叠.

swift:谈谈swift几种常见属性的区别

一.前奏 Swift作为一门新语言,经过几年的发展,逐渐趋于完善,目前已经更新到3.0版本,它汇集许多其他语言的特点,例如JS.Paython等,完全区别于OC.个人感觉它没有完全的OOP和OOD的性质. 二.谈谈几种属性的区别 存储属性 定义:实实在在存储常量和变量的 计算属性 定义:依赖于存储属性,通过计算得出来,它提供getter访问值,提供setter方法间接给其他属性或者变量设置值 类属性 定义:其本质其实就是一个全局属性,在类里限定了其作用域,用关键字static修饰 懒加载属性 定