没有合适的资源?快使用搜索试试~ 我知道了~
自学HttpClient
需积分: 0 1 下载量 181 浏览量
2015-05-07
23:27:29
上传
评论 1
收藏 96KB DOCX 举报
温馨提示
试读
47页
日常工作中,经常会遇到一些需要调用http协议接口的情况,从别人博客上找来的文档
资源推荐
资源详情
资源评论
超文本传输协议()也许是当今互联网上使用的最重要的协议了。
服务,有网络功能的设备和网络计算的发展,都持续扩展了 协议的角色,
超越了用户使用的 浏览器范畴,同时,也增加了需要 协议支持的
应用程序的数量。
尽管 包提供了基本通过 访问资源的功能,但它没有提供全面的
灵活性和其它很多应用程序需要的功能。 就是寻求弥补这项空白的
组件,通过提供一个有效的,保持更新的,功能丰富的软件包来实现客户端最
新的 标准和建议。
为扩展而设计,同时为基本的 协议提供强大的支持, 组件也
许就是构建 客户端应用程序,比如 浏览器, 服务端,利用或
扩展 协议进行分布式通信的系统的开发人员的关注点。
1. HttpClient 的范围
基于 的客户端
运输实现库
基于经典(阻塞) !
内容无关
2. 什么是 HttpClient 不能做的
不是一个浏览器。它是一个客户端的 通信实现库。 的目标是
发送和接收 报文。 不会去缓存内容,执行嵌入在 "# 页面中的
代码,猜测内容类型,重新格式化请求重定向 $% ,或者其它和 运输无
关的功能。
第一章 基础
1.1 执行请求
最重要的功能是执行 方法。一个 方法的执行包含一个
或多个 请求 响应交换,通常由 的内部来处理。而期望
用户提供一个要执行的请求对象,而 期望传输请求到目标服务器并
返回对应的响应对象,或者当执行不成功时抛出异常。
很自然地,&' 的主要切入点就是定义描述上述规约的
接口。
这里有一个很简单的请求执行过程的示例:
&&(&&)*+,-.
/&&(&&/,00-.
%&&(&+,-.
12&2&(&12,-.
*&,2&3(&+-&4
+5&&(&2,-.
&.
2&&(&&26789.
&,,&(&,--&3(&:-&4
;
;
1.1.1 HTTP 请求
所有 请求有一个组合了方法名,请求 $% 和 协议版本的请求行。
支持所有定义在 :: 版本中的 方法:
/1,1'),!5,$,)1#11,%'1 和 ! !<5。对于每个方法
类型都有一个特殊的类:
/,,,+,), 和
!。
请求的 $% 是统一资源定位符,它标识了应用于哪个请求之上的资源。
请求 $% 包含一个协议模式,主机名称,可选的端口,资源路径,可选的查询
和可选的片段。
/&&(&&/,
0=
(>?(>/(/@5>?(*>?(0-.
提供很多工具方法来简化创建和修改执行 $% 。
$% 也可以编程来拼装:
$% &+&(&$% $$% ,00A&00A&:A&00A
0?(>/(/@5>?(*>?(0A&+-.
/&&(&&/,+-.
52+,$% ,--.
输出内容为:
=?(>/(/@5>?(*>?(
查询字符串也可以从独立的参数中来生成:
#B<C+D&?&(&&'2#B<C+D,-.
?,&E<C+,0?0A&00--.
?,&E<C+,0/0A&0/&50--.
?,&E<C+,0?0A&0*0--.
?,&E<C+,0?0A&+--.
$% &+&(&$% $$% ,00A&00A&:A&00A
$%#1$*,?A&0$F90-A&+-.
/&&(&&/,+-.
52+,$% ,--.
输出内容为:
=?(>/(/@5>?(*>?(
1.1.2 HTTP 响应
响应是由服务器在接收和解释请求报文之后返回发送给客户端的报文。
响应报文的第一行包含了协议版本,之后是数字状态码和相关联的文本段。
%&&(&&E%,CG:G:A
5+5G!HA&0!H0-.
52+,C,--.
52+,5+#,-5+,--.
52+,5+#,-%,--.
52+,5+#,-5,--.
输出内容为:
::
677
!H
::&677&!H
1.1.3 处理报文头部
一个 报文可以包含很多描述如内容长度,内容类型等信息属性的头部信
息。
提供获取,添加,移除和枚举头部信息的方法。
%&&(&&E%,CG:G:A
5+5G!HA&0!H0-.
,05I0A
0:(.&(.&(0-.
,05I0A
06(.&(J0J0A&K(.&(J0J00-.
&:&(&F,05I0-.
52+,:-.
&6&(&#,05I0-.
52+,6-.
&&(&,05I0-.
52+,-.
输出内容为:
5I&:(.&(.&(
5I&6(.&(00A&K(.&(00
获得给定类型的所有头部信息最有效的方式是使用 接口。
%&&(&&E%,CG:G:A
5+5G!HA&0!H0-.
,05I0A
0:(.&(.&(0-.
,05I0A
06(.&(J0J0A&K(.&(J0J00-.
&&(& ,05I0-.
&,<,--&4
52+,,--.
;
输出内容为:
5I&:(.&(.&(
5I&6(.&(00A&K(.&(00
它也提供解析 报文到独立头部信息元素的方法方法。
%&&(&&E%,CG:G:A
5+5G!HA&0!H0-.
,05I0A
0:(.&(.&(0-.
,05I0A
06(.&(J0J0A&K(.&(J0J00-.
1 &&(&&E1 ,
,05I0--.
&,<,--&4
1&&(&1,-.
52+,<,-&@&0&(&0&@&C+,--.
<C+&&(&,-.
*&,&&(&7.&&B&.&@@-&4
52+,0&0&@&-.
;
;
输出内容为:
:&(&
(
(
6&(&
(
K&(&
(
1.1.4 HTTP 实体
剩余46页未读,继续阅读
资源评论
ying45940
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功