Подтвердить что ты не робот

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)

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

4b9b3361

Ответ 1

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

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

См. также:

Ответ 2

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

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

Ответ 3

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

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

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

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

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

Ответ 4

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

Ответ 5

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