我几乎都从here复制了以下代码。我在第10行得到一个java.net.SocketException,表示“连接重置”。SocketException:连接重置
import java.net.*;
import java.io.*;
import org.apache.commons.io.*;
public class HelloWorld {
public static void main(String[] x) {
try {
URL url = new URL("http://money.cnn.com/2013/06/07/technology/security/page-zuckerberg-spying/index.html");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = con.getContentEncoding();
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);
System.out.print(body);
} catch (Exception e) {
e.printStackTrace();
}
}
}
我担心这可能不是实际的代码问题,而是我需要给Java的一些权限。我的代码有问题吗?或者这是一个环境问题?
哪个操作系统?哪个环境? (提示:在企业环境中,您很可能不会直接连接到Web服务器,并且您必须通过代理) – fge
我同意@fge,您也可以尝试修改用户 - 代理或IDS系统阻止可能来自机器人的请求。尝试在像System.setProperty(“http.agent”,“Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,如Gecko)Chrome/28.0.1468.0 Safari/537.36”);' – gma
I' m在Ubuntu 12.我在其他一些项目中使用直接连接(除非python在幕后为我做些什么)。我试了很多网站,似乎没有任何工作。 – Jake