【发布时间】:2015-12-11 18:33:47
【问题描述】:
我希望强制 Apache Commons HTTP-Client(版本 3.1)使用 TLS 1.2 作为仅 HTTPS 协议。
这是由于服务器据称已升级到 TLS 1.2 并且不再接受任何旧协议(导致返回“连接重置”)。
对于进一步的上下文,可能无关紧要,HTTP-Client 与 Axis2 一起用于制作 SOAP;一些用于设置 HttpClient 的代码如下:
MultiThreadedHttpConnectionManager connMgr = new MultiThreadedHttpConnectionManager();
this.httpClient = new HttpClient(connMgr);
// initialize HttpClient parameters
HttpClientParams hcParams = this.httpClient.getParams();
// Maximum time to wait to receive connection from pool
hcParams.setConnectionManagerTimeout(this.maxWait);
hcParams.setSoTimeout(this.timeout);
hcParams.setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(this.retryCount, false));
// Initialize global Connection manager parameters
HttpConnectionManagerParams cmParams = connMgr.getParams();
cmParams.setDefaultMaxConnectionsPerHost(this.maxActive);
cmParams.setStaleCheckingEnabled(this.checkStaleConnections);
cmParams.setConnectionTimeout(this.timeout);
非常感谢您的帮助!
【问题讨论】:
-
由于您使用的是这个旧的且无人维护的软件,我假设您也使用的是旧的 Java 版本。您确定您的 Java 完全可以使用 Java 1.2(即您使用的是哪个版本的 Java?)
-
不,我用的是Java 7,而且代码还不算太旧,到现在为止都运行良好。
标签: java ssl https apache-commons-httpclient