谈谈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一些区别的更多相关文章
- 我来谈谈PHP和JAVA的区别
这里的标题写的是谈谈PHP和JAVA的区别,其实是委婉的说法,其实别人是想听PHP好还是JAVA好!!! 从而从中找到存在感!!! 因为由于我是从多年的php开发转到java开发的.所以最,不时的有好 ...
- HttpClient和HttpURLConnection的使用和区别(上)
转自:点击打开链接 相信很多Android开发者碰到涉及到Http协议的需求时,都和我一样在犹豫是使用HttpClient还是使用HttpURLConnection呢.我在网上也搜索了很多文章,来分析 ...
- HttpClient和HttpURLConnection的使用和区别(下)
转自来自点击打开链接 接着上一篇,我们继续来分析HttpURLConnection的使用,以及两者的共同点和区别. 目录 用法 HttpURLConnection 区别 引用资料 用法 HttpURL ...
- HttpURLConnection和HttpClient的区别2(转)
1.HttpClient比HttpURLConnection功能更强大,但是做java建议用前者,安卓建议用后者 2.这两者都支持HTTPS,streaming 上传与下载,配置超时时间,IPv6, ...
- 谈谈__proto__和prototype的区别
我想javascript中的原型链一直想很多初学javascript的同学感到非常的困惑,今天看了一些文章,结合自己的理解,把原型链这个东西从新来整理一下,如有不对之处,望大家帮忙指出. 首先,我们应 ...
- 也谈谈 Redis 和 Memcached 的区别
本文作者: 伯乐在线 - 朱小厮 . 说到redis就会联想到memcached,反之亦然.了解过两者的同学有那么个大致的印象: redis与memcached相比,比仅支持简单的key-value数 ...
- HttpClient和HttpURLConnection的使用和区别
https://www.cnblogs.com/liushuibufu/p/4140913.html 功能用法对比 从功能上对比,HttpURLConnection比HttpClient库要丰富很多, ...
- HttpURLConnection和HttpClient的区别(转)
HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.在 JDK 的 java.net 包中已经提供了访问 ...
- 谈谈final, finally, finalize的区别
final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为fi ...
随机推荐
- VC 实现文件与应用程序关联(转载)
转载:http://www.cnblogs.com/RascallySnake/archive/2013/03/01/2939102.html 日常工作中,doc文件直接双击后,就能启动word软件, ...
- 仿word导航窗口的展开与折叠
// 标识是否是展开状态 bool isExtend = true; // 定义可以扩展的宽度 const int PanelWidth = 444; private void expandableS ...
- json和jsonp的传输方式
jsonp传输会解决跨域的问题 $.ajax({ async: false, /* url: "http://127.0.0.1:8080/2015020601/background/mea ...
- Windows Internals学习笔记(一)概念与工具
参考资料: 1. <Windows Internals> 2. Windows Drive Kit 3. Microsoft Windows SDK 4. WDK下载地址 知识点: 1. ...
- python中的is、==和cmp()比较字符串
python 中的is.==和cmp(),比较字符串 经常写 shell 脚本知道,字符串判断可以用 =,!= 数字的判断是 -eq,-ne 等,但是 Python 确不是这样子地.所以作为慢慢要转换 ...
- java中判断用户是否为第一次登陆(在页面上进行控制)
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%&g ...
- 《转》Ubuntu 12.04常用的快捷键
Ubuntu 12.04常用的快捷键 超级键操作 1.超级键(Win键)–打开dash. www.2cto.com 2.长按超级键– 启动Launcher.并快捷键列表. 3.按住 ...
- iOS - UILabel
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UILabel : UIView <NSCoding> @available(iOS 2.0, *) p ...
- iOS - UIWindow
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWindow : UIView @available(iOS 2.0, *) public class UIWi ...
- js 立即执行函数,() .则前面的function 是表达式,不能是函数申明
fnName(); function fnName(){ ... }//正常,因为‘提升’了函数声明,函数调用可在函数声明之前 fnName(); var fnName=function(){ ...