这是HttpClient发(fā)送http请求需要的jar包下载,最近这几周,一直在忙同一(yī)个项目,刚开始是了解需(xū)求,需求(qiú)有一定了解(jiě)之后,就开始调第三方的接口。由于第三方给(gěi)提供的文档很(hěn)模糊,在调接(jiē)口的时候(hòu),出了很多(duō)问题,一直在(zài)沟(gōu)通协调,具体(tǐ)的无奈就不说了,由(yóu)于接口的(de)访问协(xié)议是通过 HTTP 和 HTTPS 通(tōng)讯的,因此封装了一个简(jiǎn)单的(de)请求工(gōng)具类,由于时间紧(jǐn)迫,并没(méi)有额外(wài)的(de)时间对(duì)工(gōng)具类进行优化和扩展,如果(guǒ)后(hòu)续空出(chū)时间的话(huà),我会(huì)对该工具类继续进(jìn)行优(yōu)化和扩(kuò)展的。
HttpClient 不是一个浏览器。它是一个客户端的 HTTP 通信(xìn)实现库。HttpClient的目标是发 送和接收HTTP 报文。HttpClient不会去缓存内容,执(zhí)行 嵌入在 HTML 页面中的javascript 代码,猜(cāi)测内容类型,重(chóng)新格式化请求/重定向URI,或者其它和 HTTP 运输无关的(de)功能。
HttpClient jar4.5包是目前构建http协议的重要组(zǔ)成部分,当用(yòng)户在使(shǐ)用HttpClient软件创建协议(yì)项(xiàng)目内容的时候,就需(xū)要用到HttpClient jar程序,让用户在创建的过程中更加稳定,程序的性(xìng)能更加灵活(huó),这款软件主要的目的就是帮助程序(xù)师在(zài)使用HttpClient软件(jiàn)的时(shí)候(hòu)可以(yǐ)得到(dào)丰富的创建数据内容,在(zài)认(rèn)证方案、字符(fú)编码、重定向处理、性能优(yōu)化(huà)、偏好架构等方便得到最舒适的开(kāi)发环境,从而(ér)提(tí)高(gāo)开发的速度,加快http协议的稳定性,需(xū)要的(de)朋友可(kě)以下载试试!
服(fú)务(wù)器验证
HttpClient几乎透明地处(chù)理与服务器(qì)的身份(fèn)验证,开发(fā)人(rén)员必(bì)须做的唯(wéi)一事情实际上是提(tí)供登录凭据。这些凭据存储在HttpState实例中(zhōng),可(kě)以使用setCredentials(AuthScope authscope, Credentials cred)和getCredentials(AuthScope authscope) 方法设置或(huò)检索。
可以使用setDoAuthentication(boolean doAuthentication) HttpMethod类(lèi)中的方法禁用HttpClient中内置的自动授权。更改(gǎi)仅影(yǐng)响该方法实例。
抢(qiǎng)占认证
可以(yǐ)在HttpClient中启用抢占认证。在这种模式下,HttpClient将在某些情况下甚至在(zài)服务(wù)器给出未授(shòu)权响应之前发送基本认证(zhèng)响(xiǎng)应(yīng),从而减少进行(háng)连接的(de)开(kāi)销。要启用此功能,请使用以下命令:
client.getParams()。setAuthenticationPreemptive(true);
抢占式身份验(yàn)证模式还需(xū)要为要尝试抢占式身份验证的目(mù)标(biāo)或代理(lǐ)主机设置默认凭据。未能提供默(mò)认凭据(jù)将(jiāng)导致抢占式身份验证模式无效。
凭据defaultcreds = new UsernamePasswordCredentials(“username”,“password”);
client.getState()。setCredentials(new AuthScope(“myhost”,80,AuthScope.ANY_REALM),defaultcreds);
HttpClient中(zhōng)的抢占式(shì)身(shēn)份验证符合rfc2617:
客户(hù)端应(yīng)该(gāi)假定在请求URI的路(lù)径字段中的最后符号元素的深度或深度以上的所有路径也在由当(dāng)前(qián)询(xún)问(wèn)的基(jī)本领域值指定的保护(hù)空间内。客户(hù)端(duān)可以预(yù)先发送相(xiàng)应的授权报头,其中(zhōng)请求该空间(jiān)中的资源,而不从服务器接收另一询问(wèn)。类似地,当(dāng)客户端向代理发(fā)送请求时(shí),其可以在代理授权报头字段(duàn)中重用用户(hù)ID和密码,而不(bú)从代理服务器接收(shōu)另一询(xún)问。
服务(wù)器认(rèn)证的(de)安全(quán)方面(miàn)
在开发(fā)可能(néng)需(xū)要与(yǔ)不受信(xìn)任(rèn)的网站或Web应用(yòng)程(chéng)序(xù)通信(xìn)的应用(yòng)程序时,请谨慎使(shǐ)用(yòng)默认凭据。当激活抢占认(rèn)证或未明确给(gěi)定(dìng)特定认证域的凭证时,HttpClient将(jiāng)使用默认凭据尝试与目标站点进行身份验(yàn)证(zhèng)。如果要(yào)避免将敏感凭据发送到不受信任的站点,请尽可能缩小凭证范围:始终指定(dìng)主机和已(yǐ)知的凭据(jù)。
在生产(chǎn)应用程(chéng)序中不(bú)建(jiàn)议使用AuthScope.ANY身份(fèn)验证范围(null主机(jī)和/或域的值)设置凭据。这样做将导致为所(suǒ)有认证尝试(在抢占认证的情况下(xià)的所有请求)发(fā)送凭证。使用此设置应限于仅调试。
