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)


Что случилось? Неужели хозяин заблокировал меня?

1308   5  

5 ответов:

Код состояния HTTP 500 обычно означает, что код веб-сервера разбился. Вам необходимо заранее определить код состояния, используя HttpURLConnection#getResponseCode() и в случае ошибок, прочитайте HttpURLConnection#getErrorStream() вместо этого. Именно в нем может содержаться информация о проблеме.

Если хост заблокировал вас, вы бы предпочли получить код состояния 4nn, например 401 или 403.

См. также:

Этот код состояния 500 является внутренней ошибкой сервера. Этот код указывает, что часть сервера (например, программа CGI) разбилась или произошла ошибка конфигурации.

Я думаю, что проблема лежит не на вашей стороне, а скорее на стороне Http-сервера. ресурсы, которые вы использовали для доступа, возможно, были перемещены или повреждены, или его конфигурация просто изменилась или испортилась

Я столкнулся с той же проблемой и нашел решение.

Вы можете посмотреть в первом ответе сервера и посмотреть, отправил ли он вам файл cookie.

Чтобы проверить, отправил ли вам сервер файл cookie, вы можете использовать HttpURLConnection#getHeaderFields () и искать заголовки с именем "Set-Cookie".

Если существует, вот решение вашей проблемы. 100% работает на это дело!

+1, если это сработает для вас.

У меня была эта проблема, т. е. работает нормально при вставке в браузер, но 505s, когда сделано через java. Это были просто пробелы, которые нужно было экранировать / закодировать.

Измените тип контента на "application/x-www-form-urlencoded", я решил проблему.

Comments

    Ничего не найдено.