0

有没有办法在每个连接的基础上而不是整个 JVM 上做这样的事情?

System.setProperty("https.protocols", "TLSv1");

我收到这样的错误,另一篇文章将上述内容显示为解决方案:

javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
    at java.io.BufferedOutputStream.flush(Unknown Source)
    at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:827)
    at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1975)
    at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
    at com.pilotfish.eip.modules.http.HttpPostTransport$2.run(HttpPostTransport.java:233)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
    at sun.security.ssl.InputRecord.read(Unknown Source)
    ... 15 more

我不希望它适用于通过 JVM 运行的所有内容,只是一个类中单个方法中的一个特定调用。

这可能吗?

我正在使用 Java 在 Apache Commons 中使用 v3.0.1 HttpClient 建立与 Web 服务的连接 - 执行以下操作:

import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.HeadMethod;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;

...

PostMethod post = new PostMethod(getURI(data.getAttributes(), targetUri));

...

HttpClient httpclient = new HttpClient();

...

int result = httpclient.executeMethod(post);
4

0 回答 0