Я сталкиваюсь с этой проблемой с Java. Я хочу получить некоторые информации о формате HTML от URL. Этот код работал так долго, но внезапно, он прекратил работать.
Когда я получаю доступ к этому URL с помощью браузера, он открывается без проблемы.
Код:
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)
Что случилось? Действительно ли хост блокировал меня?
Код состояния HTTP 500 обычно означает, что произошел сбой кода веб-сервера. Вам необходимо предварительно определить код состояния с помощью HttpURLConnection#getResponseCode()
и в случае ошибок прочитать HttpURLConnection#getErrorStream()
вместо этого. Именно в нем может содержаться информация о проблеме.
Если хост заблокировал вас, лучше получить код статуса 4nn, например 401 или 403.