java.io.IOException: сервер вернул код ответа HTTP: 500 - PullRequest
14 голосов
/ 08 августа 2010

Я сталкиваюсь с этой проблемой с 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)

Что не так?Хозяин заблокировал меня?

Ответы [ 6 ]

25 голосов
/ 08 августа 2010

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

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

См. Также:

3 голосов
/ 23 июля 2011

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

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

0 голосов
/ 13 февраля 2019

Проблема должна быть с параметрами, которые вы передаете (Вы должны передавать пустые параметры). Например: http://www.myurl.com? Id = 5 & name = Проверьте, обрабатываете ли вы это на сервере, которому звоните.

0 голосов
/ 25 сентября 2016

Измените тип содержимого на «application / x-www-form-urlencoded», я решил проблему.

0 голосов
/ 19 ноября 2015

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

0 голосов
/ 03 октября 2014

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

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

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

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

+ 1, если у вас сработало.

...