HttpClient jar4.4包

HttpClient jar4.4包

免费版

大小:2.61M更新:2017-09-28 11:21

类别:编程工具系统:Win7, WinAll

包名:

立即下载(2.61M)
  • HttpClient jar4.4包 免费版0

HttpClient jar包是一款构建网站协议的数据包文件,也是可以进行建设项目的必备程序文件,它可以提供更好的稳定性和灵活性,从而获得最方便的开发环境,加快开发速度等,需要的朋友可以来试用使用。

HttpClient jar4.4包介绍:

HttpClient jar4.4包是目前构建http协议的重要组成部分,当用户在使用HttpClient软件创建协议项目内容的时候,就需要用到HttpClient jar程序,让用户在创建的过程中更加稳定,程序的性能更加灵活,这款软件主要的目的就是帮助程序师在使用HttpClient软件的时候可以得到丰富的创建数据内容,在认证方案、字符编码、重定向处理、性能优化、偏好架构等方便得到最舒适的开发环境,从而提高开发的速度,加快http协议的稳定性。

httpclient jar包

HttpClient jar软件功能:

抢占认证

可以在HttpClient中启用抢占认证。在这种模式下,HttpClient将在某些情况下甚至在服务器给出未授权响应之前发送基本认证响应,从而减少进行连接的开销。要启用此功能,请使用以下命令:

client.getParams()。setAuthenticationPreemptive(true);

抢占式身份验证模式还需要为要尝试抢占式身份验证的目标或代理主机设置默认凭据。未能提供默认凭据将导致抢占式身份验证模式无效。

凭据defaultcreds = new UsernamePasswordCredentials(“username”,“password”);

client.getState()。setCredentials(new AuthScope(“myhost”,80,AuthScope.ANY_REALM),defaultcreds);

HttpClient中的抢占式身份验证符合rfc2617:

客户端应该假定在请求URI的路径字段中的最后符号元素的深度或深度以上的所有路径也在由当前询问的基本领域值指定的保护空间内。客户端可以预先发送相应的授权报头,其中请求该空间中的资源,而不从服务器接收另一询问。类似地,当客户端向代理发送请求时,其可以在代理授权报头字段中重用用户ID和密码,而不从代理服务器接收另一询问。

服务器验证

HttpClient几乎透明地处理与服务器的身份验证,开发人员必须做的唯一事情实际上是提供登录凭据。这些凭据存储在HttpState实例中,可以使用setCredentials(AuthScope authscope, Credentials cred)和getCredentials(AuthScope authscope) 方法设置或检索。

可以使用setDoAuthentication(boolean doAuthentication) HttpMethod类中的方法禁用HttpClient中内置的自动授权。更改仅影响该方法实例。

服务器认证的安全方面

在开发可能需要与不受信任的网站或Web应用程序通信的应用程序时,请谨慎使用默认凭据。当激活抢占认证或未明确给定特定认证域的凭证时,HttpClient将使用默认凭据尝试与目标站点进行身份验证。如果要避免将敏感凭据发送到不受信任的站点,请尽可能缩小凭证范围:始终指定主机和已知的凭据。

在生产应用程序中不建议使用AuthScope.ANY身份验证范围(null主机和/或域的值)设置凭据。这样做将导致为所有认证尝试(在抢占认证的情况下的所有请求)发送凭证。使用此设置应限于仅调试。

//要避免,除非在调试模式下

凭据defaultcreds = new UsernamePasswordCredentials(“username”,“password”);

client.getState()。setCredentials(AuthScope.ANY,defaultcreds);

代理验证

HttpClient中的代理身份验证与服务器身份验证几乎相同,唯一的区别在于每个身份的凭据是独立存储的。因此,对于代理身份验证,您必须使用 setProxyCredentials(AuthScope authscope, Credentials cred)和 getProxyCredentials(AuthScope authscope)。

认证方案

HttpClient支持以下认证方案。

基本

基本认证是HTTP的原始和最兼容的认证方案。不幸的是,它也是最不安全的,因为它将未加密的用户名和密码发送到服务器。基本身份验证需要UsernamePasswordCredentials实例(NTCredentials扩展)可用于服务器指定的特定领域或默认凭据。

消化

Digest身份验证在HTTP 1.1协议中添加,虽然没有像Basic身份验证那么广泛支持,但是它提供了大量的支持。摘要认证比基本认证明显更安全,因为它从不在网络上传输实际密码,而是使用它来加密从服务器发送的“nonce”值。

摘要式身份验证需要UsernamePasswordCredentials实例(NTCredentials扩展)可用于服务器指定的特定领域或默认凭据。

HttpClient jar包软件特色:

HTTP头

HTTP请求或响应的标头必须为US-ASCII格式。不能在请求或响应的标头中使用非US-ASCII字符。一般来说,这不是一个问题,因为HTTP头设计用于实现数据传输,而不是实际传输数据本身。

但是一个例外是cookie。因为cookie被转换为HTTP头,所以它们被限制在US-ASCII字符集。有关详细信息,请参阅Cookie指南。

请求/响应体

请求或响应正文可以是任何编码,但默认情况下是 ISO-8859-1。编码可以在 Content-Type头中指定,例如:

Content-Type:text / html; charset = UTF-8

在这种情况下,应用程序应仔细使用UTF-8编码,当将主体转换为字符串或一些字符可能已损坏。您可以使用addRequestHeader每个方法中的方法设置请求的内容类型标头,并使用该 方法检索响应正文的编码getResponseCharSet 。

如果已知响应是字符串,则可以使用getResponseBodyAsString将自动使用Content-Type头或 ISO-8859-1中指定的编码的 方法(如果未指定字符集)。

请注意,一些文档类型(如HTML和XML)允许作者指定文件的内容类型。在这种情况下,您应参阅相关标准,了解如何撤销所报告的字符集中的任何冲突。

显示全部

同类相关
热门推荐
玩家评论
我要跟贴
取消
最新手游