java.net.SocketException:使用 SocketInputStream 重置连接
java.net.SocketException: Connection reset with SocketInputStream
我尝试从 URL 下载文件并将其保存在本地 java。这个 URL 在我的浏览器中工作,但在 JAVA 中,我得到了这些异常:java.net.SocketException:连接重置。
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:658)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323)
at java.net.URL.openStream(URL.java:1037)
我尝试了不同的实现方式:
Apache 通用 IO:
Files.copy(myUrl.openStream(), file, StandardCopyOption.REPLACE_EXISTING);
球衣 2 :
WebTarget target =ClientBuilder.newClient().target(myUri);
Response response = target.path(ressourcePath).request().get();
Java io :
URL link = new URL(myUri);
InputStream in = new BufferedInputStream(link.openStream());
所有这些示例都会抛出 java.net.SocketException:连接重置异常。
我无法控制发送文件的服务器。
import java.net.*;
import java.io.*;
public class URLReader {
public static void main(String[] args) throws Exception {
URL oracle = new URL("http://www.oracle.com/");
BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
我尝试从 URL 下载文件并将其保存在本地 java。这个 URL 在我的浏览器中工作,但在 JAVA 中,我得到了这些异常:java.net.SocketException:连接重置。
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:658)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323)
at java.net.URL.openStream(URL.java:1037)
我尝试了不同的实现方式:
Apache 通用 IO:
Files.copy(myUrl.openStream(), file, StandardCopyOption.REPLACE_EXISTING);
球衣 2 :
WebTarget target =ClientBuilder.newClient().target(myUri);
Response response = target.path(ressourcePath).request().get();
Java io :
URL link = new URL(myUri);
InputStream in = new BufferedInputStream(link.openStream());
所有这些示例都会抛出 java.net.SocketException:连接重置异常。
我无法控制发送文件的服务器。
import java.net.*;
import java.io.*;
public class URLReader {
public static void main(String[] args) throws Exception {
URL oracle = new URL("http://www.oracle.com/");
BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}