预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

JavahttpClient介绍以及使⽤⽰例Java开发语⾔中实现HTTP请求的⽅法主要有两种:⼀种是JAVA的标准类HttpUrlConnection,⽐较原⽣的实现⽅法;另⼀种是第三⽅开源框架HTTPClient。HttpClient相⽐传统JDK⾃带的URLConnection,增加了易⽤性和灵活性,它不仅是客户端发送Http请求变得容易,⽽且也⽅便了开发⼈员测试接⼝(基于Http协议的),即提⾼了开发的效率,也⽅便提⾼代码的健壮性。⼀、HttpClient简单介绍HttpClient是ApacheJakartaCommon下的⼦项⽬,⽤来提供⾼效的、最新的、功能丰富的⽀持HTTP协议的客户端编程⼯具包,并且它⽀持HTTP协议最新的版本和建议。HttpClient已经应⽤在很多的项⽬中,⽐如ApacheJakarta上很著名的另外两个开源项⽬Cactus和HTMLUnit都使⽤了HttpClient。HTTPClient对HTTP的封装性⽐较不错,通过它基本上能够满⾜我们⼤部分的需求。HttpClient3.1是org.apache.commons.httpclient下操作远程url的⼯具包,虽然已不再更新,但实现⼯作中使⽤httpClient3.1的代码还是很多。HttpClient4.5是org.apache.http.client下操作远程url的⼯具包。⼆、HttpClient特性基于标准、纯净的java语⾔。实现了Http1.0和Http1.1。以可扩展的⾯向对象的结构实现了Http全部的⽅法(GET,POST,PUT,DELETE,HEAD,OPTIONS,andTRACE)。⽀持HTTPS协议。通过Http代理建⽴透明的连接。利⽤CONNECT⽅法通过Http代理建⽴隧道的https连接。Basic,Digest,NTLMv1,NTLMv2,NTLM2Session,SNPNEGO/Kerberos认证⽅案。插件式的⾃定义认证⽅案。便携可靠的套接字⼯⼚使它更容易的使⽤第三⽅解决⽅案。连接管理器⽀持多线程应⽤。⽀持设置最⼤连接数,同时⽀持设置每个主机的最⼤连接数,发现并关闭过期的连接。⾃动处理Set-Cookie中的Cookie。插件式的⾃定义Cookie策略。Request的输出流可以避免流中内容直接缓冲到socket服务器。Response的输⼊流可以有效的从socket服务器直接读取相应内容。在http1.0和http1.1中利⽤KeepAlive保持持久连接。直接获取服务器发送的responsecode和headers。设置连接超时的能⼒。实验性的⽀持http1.1responsecaching。源代码基于ApacheLicense可免费获取。三、使⽤⽅法使⽤HttpClient发送请求、接收响应很简单,⼀般需要如下⼏步即可。1.创建HttpClient对象。2.创建请求⽅法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。3.如果需要发送请求参数,可调⽤HttpGet、HttpPost共同的setParams(HetpParamsparams)⽅法来添加请求参数;对于HttpPost对象⽽⾔,也可调⽤setEntity(HttpEntityentity)⽅法来设置请求参数。4.调⽤HttpClient对象的execute(HttpUriRequestrequest)发送请求,该⽅法返回⼀个HttpResponse。5.调⽤HttpResponse的getAllHeaders()、getHeaders(Stringname)等⽅法可获取服务器的响应头;调⽤HttpResponse的getEntity()⽅法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。6.释放连接。⽆论执⾏⽅法是否成功,都必须释放连接四、使⽤⽰例HttpClient为第三⽅Http客户端类库;在开发过程中主要是发送Http协议的Post请求和Get请求。其中Post请求使⽤HttpPost对象构建、Get请求使⽤HttpGet对象构建。HttpGet请求publicstaticvoidmain(String[]args)throwsException{//格式化请求url//Stringcmd=String.format("http://%s:%s@%s",username,password,split[1]);//请求地址Stringurl="https://blog.csdn.net/amosjob/article/details/82775290";//创建默认的客户端实例CloseableHttp