没有合适的资源?快使用搜索试试~ 我知道了~
HttpClient4.5-API-部分翻译
需积分: 9 2 下载量 105 浏览量
2017-11-28
21:04:29
上传
评论
收藏 1.82MB PDF 举报
温馨提示
试读
59页
由网上博客整理而成的PDF。该PDF是关于HttpClient4.5-API进行部分翻译,我觉得翻译的很不错,就整理下来留存一份。原博客地址:http://blog.csdn.net/u011179993/article/details/47123727 侵删。谢谢。
资源推荐
资源详情
资源评论
【HttpClient4.5 中文教程】译者的话,目录,序言
译者的话
HttpClient4.5 已经发布有一段时间了,但网上一直没有完整的中文教程 .曾经看到过一个
由南磊先生翻译的 HttpClient4.1 中文教程,但有两个问题:1.HttpClient4.5 与之前的版
本有很大改变,并不适用当前版本;
2.错误较多,语言不通顺,严重怀疑某些地方是直接用谷歌翻译的。所以笔者在这里发布翻
译过的 HttpClient4.5 的中文版本。
转载请说明出处:http://blog.csdn.net/u011179993
如有问题,请发邮件:chenjazz@foxmail.com
==========================以下为原教程翻译
=============================================
序言
超文本传输协议(HTTP)也许是当今互联网上所使用的最重要的协
议了。Web services,联网设备和网络计算的发展,都持续扩展了 HTTP
协议的角色,超越了用户使用的 Web 浏览器范畴,同时,也增加了需
要 HTTP 协议支持的应用程序的数量。
尽管 java.net 包提供了通过 HTTP 访问资源的基本功能,但它缺少足
够的灵活性和其它很多应用程序需要的功能。HttpClient 通过提供一个
有效的,保持更新的,功能丰富的软件包来实现客户端最新的 HTTP 标
准和建议,来弥补 java.net 包的在某些技术上的空白。
HttpClient 为扩展而设计,同时为基本的 HTTP 协议提供强大的支
持。有一些人会对 HttpClient 感兴趣,这些人通常是构建 HTTP 客户端
应用程序(比如 web 浏览器,web 服务客户端,利用或扩展 HTTP 协
议进行来实现的分布式通信系统)的开发人员。
1.HttpClient 的范围
●基于 HttpCore[http://hc.apache.org/httpcomponents-core/index.html]的客
户端 HTTP 通信库
●基于经典(阻塞) I/O
●内容无关【原文为 Content agnostic】
2.HttpClient 所不能做的
●HttpClient 不是一个浏览器。它是一个客户端的 HTTP 通信实现库。
HttpClient 的目标是发送和接收 HTTP 报文。HttpClient 不会去处理内容,
执行嵌入在 HTML 页面中的 javascript 代码,猜测内容类型,如果没
有明确设置,否则不会重新格式化请求/重定向 URI,或其它和 HTTP
通信无关的功能。
【HttpClient4.5 中文教程】【第一章 :基础】1.1
执行请求(一)
第一章 :基础
1.1 执行请求
HttpClient 最基本的功能是执行 HTTP 方法,一个 HTTP 方法的执行
包含一个或多个 HTTP 请求/HTTP 相应的交换,通常由 HttpClient
的内部来处理。使用者被要求提供一个 Request 对象来执行,
HttpClient 就会把请求传送给目标服务器并返回一个相对应的
response 对象,如果执行不成功,将会抛出一个异常。
显然,HttpClient API 的主要切入点就是定义描述上述契约的
HttpClient 接口。
一个简单的请求执行事例:
[java] view plain copy
1. CloseableHttpClient httpclient = HttpClients.createDefault();
2. HttpGet httpget = new HttpGet("http://localhost/");
3. CloseableHttpResponse response = httpclient.execute(httpget);
4. try {
5. <...>
6. } finally {
7. response.close();
8. }
1.1.1. HTTP 请求(Request)
所有 HTTP 请求都有一个请求起始行,这个起始行由方法名,请求 URI
和 HTTP 协议版本组成。HttpClient 很好地支持了 HTTP/1.1 规范中
所有的 HTTP 方法:GET,HEAD, POST,PUT, DELETE, TRACE
和 OPTIONS。每个方法都有一个特别的类:HttpGet,HttpHead,
HttpPost,HttpPut,HttpDelete,HttpTrace 和 HttpOptions。URI
是统一资源标识符的缩写,用来标识与请求相符合的资源。HTTP 请求
URI 包含了一个协议名称,主机名,可选端口,资源路径,可选的参数,
可选的片段。
[java] view plain copy
1. HttpGet httpget = new HttpGet(
2. "http://www.google.com/search?hl=en&q=httpclient&btnG=Google+Sear
ch&aq=f&oq=");
HttpClient 提供了 URIBuilder 工具类来简化创建、修改请求 URIs。
[java] view plain copy
1. URI uri = new URIBuilder()
2. .setScheme("http")
3. .setHost("www.google.com")
4. .setPath("/search")
5. .setParameter("q", "httpclient")
6. .setParameter("btnG", "Google Search")
7. .setParameter("aq", "f")
8. .setParameter("oq", "")
9. .build();
10. HttpGet httpget = new HttpGet(uri);
11. System.out.println(httpget.getURI());</span>
输出:
[java] view plain copy
1. http://www.google.com/search?q=httpclient&btnG=Google+Search&aq=f&oq=
1.1.2.HTTP 响应(Response)
HTTP 相应是服务器接收并解析请求信息后返回给客户端的信息,它的
起始行包含了一个协议版本,一个状态码和描述状态的短语。
[java] view plain copy
1. HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1
2. ,HttpStatus.SC_OK, "OK");
3. System.out.println(response.getProtocolVersion());
4. System.out.println(response.getStatusLine().getStatusCode());
5. System.out.println(response.getStatusLine().getReasonPhrase());
6. System.out.println(response.getStatusLine().toString());
输出:
[java] view plain copy
1. HTTP/1.1
2. 200
3. OK
4. HTTP/1.1 200 OK
剩余58页未读,继续阅读
资源评论
jing12062011
- 粉丝: 48
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于yolov8+pyqt5实现精美界面支持图片视频和摄像检测源码.zip
- 用C语言为母亲节献上一份特别的祝福.zip
- LCD1602液晶显示屏的深入探索与实用指南.zip
- 基于Matlab人脸肤色定理的教师人数统计+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab霍夫曼变换的表盘读数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab火灾烟雾检测源码带GUI界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的恶劣天气交通标志识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的霍夫曼变换的表盘示数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的车道线识别系统 +源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的教室人数统计系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功