我幾乎都從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