Java.io. IOException: сервер вернул код ответа HTTP: 500
Я столкнулся с этой проблемой с 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)
Что случилось? Неужели хозяин заблокировал меня?
5 ответов:
Код состояния HTTP 500 обычно означает, что код веб-сервера разбился. Вам необходимо заранее определить код состояния, используя
HttpURLConnection#getResponseCode()и в случае ошибок, прочитайтеHttpURLConnection#getErrorStream()вместо этого. Именно в нем может содержаться информация о проблеме.Если хост заблокировал вас, вы бы предпочли получить код состояния 4nn, например 401 или 403.
См. также:
Этот код состояния 500 является внутренней ошибкой сервера. Этот код указывает, что часть сервера (например, программа CGI) разбилась или произошла ошибка конфигурации.
Я думаю, что проблема лежит не на вашей стороне, а скорее на стороне Http-сервера. ресурсы, которые вы использовали для доступа, возможно, были перемещены или повреждены, или его конфигурация просто изменилась или испортилась
Я столкнулся с той же проблемой и нашел решение.
Вы можете посмотреть в первом ответе сервера и посмотреть, отправил ли он вам файл cookie.
Чтобы проверить, отправил ли вам сервер файл cookie, вы можете использовать HttpURLConnection#getHeaderFields () и искать заголовки с именем "Set-Cookie".
Если существует, вот решение вашей проблемы. 100% работает на это дело!
+1, если это сработает для вас.
У меня была эта проблема, т. е. работает нормально при вставке в браузер, но 505s, когда сделано через java. Это были просто пробелы, которые нужно было экранировать / закодировать.
Comments