所以这是一个初学者的问题。
从使用 urls章节执行示例代码时,它会抛出:
线程“主”java.net.SocketException 中的异常: 在 java.net.SocketInputStream.read(SocketInputStream.java:189) 处重置连接...
起源是openStream()方法。
这是代码:
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();
}
}
我知道关于该主题有类似的主题,但我找不到适合我的答案。
到目前为止我已经尝试过:
- 我已经按照这里的建议设置了代理主机 。命令是:java -Dhttp.proxyHost=dslb-088-071-100-199.pools.arcor-ip.net,我也尝试插入System.setProperty("http.proxyHost", "dslb-088-071- 100-199.pools.arcor-ip.net"); 在 URLReader 类的第一行。
- 我尝试了 JSoup html 解析器和
- org.apache.commons.io.FileUtils.copyURLToFile(URL, File) 方法得到类似的结果。
无论我尝试什么,我总是会得到同样的错误:大约 30 秒内什么都不会发生,然后它会抛出提到的 SocketException。
我根本不知道如何继续解决这个问题。有用的是获取有关在连接重置前 30 秒内后台发生的情况的信息。
那么究竟是什么导致了这个异常呢?
最小的提示可能会有所帮助!谢谢!