我试图通过执行以下方式在我的maven项目中实例化CloseableHttpClient(apache httpclient 4.3):
HttpClients.createDefault();
但执行没有到达我的代码的下一行。
以下是我在调试器(public CloseableHttpClient build()
类的org.apache.http.impl.client.HttpClientBuilder
方法)中可以看到的内容:
public static final X509HostnameVerifier BROWSER_COMPATIBLE_HOSTNAME_VERIFIER
= new BrowserCompatHostnameVerifier();
...
X509HostnameVerifier hostnameVerifier = this.hostnameVerifier;
if (hostnameVerifier == null) {
hostnameVerifier = SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER; // <-- last line executed, BROWSER_COMPATIBLE_HOSTNAME_VERIFIER is null here
}
if (sslcontext != null) { // <-- this step is not reached
...
换句话说,代码执行在相当于
的行上停止X509HostnameVerifier hostnameVerifier = null;
毫无例外。
怎么可能?
请注意。不确定是否值得一提,但以防万一。我将IDEA调试器附加到远程计算机上运行的进程。