Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接到HTTP服务失败_Java_Spring_Rest_Http - Fatal编程技术网

Java 连接到HTTP服务失败

Java 连接到HTTP服务失败,java,spring,rest,http,Java,Spring,Rest,Http,您好,我正在尝试连接到服务,但呼叫时失败,错误如下 CloseableHttpResponse response = httpclient.execute(httpget); data = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8); 我并不是在回应时打电话给你。因此,我假设这不可能是因为在读取整个数据之前连接已关闭?我如何在代码中处理这

您好,我正在尝试连接到服务,但呼叫时失败,错误如下

 CloseableHttpResponse response = httpclient.execute(httpget);
    data = IOUtils.toString(response.getEntity().getContent(),
                    StandardCharsets.UTF_8);
我并不是在回应时打电话给你。因此,我假设这不可能是因为在读取整个数据之前连接已关闭?我如何在代码中处理这个问题?在生产中应如何处理? 这是我的代码还是服务的问题

Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:221) ~[?:1.8.0]
    at java.net.SocketInputStream.read(SocketInputStream.java:152) ~[?:1.8.0]
    at com.ibm.jsse2.b.a(b.java:240) ~[?:8.0 build_20171107]
    at com.ibm.jsse2.b.a(b.java:142) ~[?:8.0 build_20171107]
    at com.ibm.jsse2.at.a(at.java:630) ~[?:8.0 build_20171107]
    at com.ibm.jsse2.at.a(at.java:893) ~[?:8.0 build_20171107]
    at com.ibm.jsse2.f.read(f.java:60) ~[?:8.0 build_20171107]
    at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139) ~[httpcore-4.4.4.jar:4.4.4]
    at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155) ~[httpcore-4.4.4.jar:4.4.4]
    at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284) ~[httpcore-4.4.4.jar:4.4.4]
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) ~[httpcore-4.4.4.jar:4.4.4]
    at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) ~[httpcore-4.4.4.jar:4.4.4]
    at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) ~[httpcore-4.4.4.jar:4.4.4]
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) ~[httpcore-4.4.4.jar:4.4.4]
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) ~[httpclient-4.5.2.jar:4.5.2]
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) ~[httpclient-4.5.2.jar:4.5.2]

实体内容似乎无法流式传输,因为它已关闭<代码>连接重置通常会告诉您GET请求/响应有问题

但是,您可能还想了解以下内容:

接受的答案显示了一种处理HTTP响应的好方法(使用
EntityUtils
HttpResponse
)。

可能重复的