java.io.IOException:服务器返回HTTP响应代码:500
我正在使用Java来解决这个问题。我想从URL获取一些HTML信息。这段代码工作了很长时间,但突然间,它停止了工作。
I'm facing this problem with Java. I want to get some HTML informations from a URL. This code was working for so long, but suddenly, it stopped working.
当我使用浏览器访问此URL时,它打开没有问题。
When I access this URL using the browser, it opens with no problem.
代码:
URL site = new URL(this.url);
java.net.URLConnection yc = site.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine;
String objetivo = "<td height=\"28\" colspan=\"2\"";
while ((inputLine = in.readLine()) != null && !inputLine.contains(objetivo)) {
}
inputLine = in.readLine();
例外:
java.io.IOException: Server returned HTTP response code: 500 for URL: http://www.myurl.com
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at Sites.websites.Site1.getData(Site1.java:53)
at util.Util.lerArquivo(Util.java:278)
at util.Util.main(Util.java:983)
出了什么问题?主持人阻止了我吗?
What's wrong? Did the host block me?
HTTP状态代码500 通常表示网络服务器代码已崩溃。您需要事先使用 HttpURLConnection#getResponseCode()
如果有错误,请阅读 HttpURLConnection#getErrorStream()
。它可能包含有关问题的信息。
HTTP status code 500 usually means that the webserver code has crashed. You need to determine the status code beforehand using HttpURLConnection#getResponseCode()
and in case of errors, read the HttpURLConnection#getErrorStream()
instead. It may namely contain information about the problem.
如果主机阻止了您,您宁愿获得4nn状态代码,如401或403.
If the host has blocked you, you would rather have gotten a 4nn status code like 401 or 403.
- How to use URLConnection to fire and handle HTTP requests?