【发布时间】:2015-05-23 15:30:09
【问题描述】:
我正在尝试从 URL 读取 html 文件。我的代码适用于大多数网站,但其中一些网站除外,例如http://dota2.gamepedia.com/Dota_2_Wiki。我想我需要设置java代理什么的?...
这是我的代码:
try {
URL webPage = new URL("http://dota2.gamepedia.com/Dota_2_Wiki");
URLConnection con = webPage.openConnection();
con.setConnectTimeout(5000);
con.setReadTimeout(5000);
BufferedReader in = new BufferedReader(
newInputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
catch (MalformedURLException exc){exc.printStackTrace();}
catch (IOException exc){exc.printStackTrace();}
结果:
java.io.IOException: Server returned HTTP response code: 403 for URL: http://dota2.gamepedia.com/Dota_2_Wiki
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1838)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
at com.Popov.Main.main(Main.java:17)
错误代码 403:如何访问它?顺便说一句,它在浏览器中正常工作
【问题讨论】:
-
没有错误。进程以退出代码 0 结束。没有将 html 打印到控制台,例如 URL 为空。
-
你在哪里知道的。您在不记录异常的情况下捕获异常。那是非常糟糕的编程。
-
是的,对不起,我是编程的初学者。收到错误代码,已编辑帖子
-
"403 Forbidden" 你好像没有权限打开这个网站。
-
是的,但是为什么我可以用浏览器打开,正常吗?..