以下教程演示了如何使用Apache HttpClient 4.5从资源服务器获取证书。 证书用于通过使用SSL / TLS的HTTPS保护客户端和服务器之间的连接。 当您需要有关证书的详细信息时,例如:证书何时到期?谁颁发证书?等等。或者在某些情况下需要读取服务器证书。 在下面的例子中,我们将详细解释如何实现。
Maven依赖关系
我们使用maven来管理依赖关系,并使用Apache HttpClient 4.5版本。 将以下依赖项添加到您的项目中,以便创建HTTP DELETE请求方法。
pom.xml 文件的内容如下 -
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.yiibai.httpclient.httmethods
http-get
1.0.0-SNAPSHOT
https://memorynotfound.com
httpclient - ${project.artifactId}
org.apache.httpcomponents
httpclient
4.5.2
maven-compiler-plugin
3.5.1
1.8
1.8
HTTP获取服务器证书示例
在以下示例中,我们向https://www.baidu.com发出请求以获取服务器证书。 首先,我们创建一个HttpResponseInterceptor,它将从SSLSession中读取证书(如果存在),并将证书添加到HttpContext中,以便稍后用于处理。
接下来,创建一个自定义的HttpClient并使用addInterceptorLast()工厂方法添加拦截器。
最后,向资源服务器发出一个HttpGet请求,并从HttpContext获取服务器证书,我们之前将它们放在这里。 现在拥有了证书,然后遍历集合并将一些数据打印到控制台。
文件:HttpClientGetServerCertificate.java -