У меня есть скрипт Groovy, который использует URLConnection для обработки запроса GET (в данном случае это токен аутентификации);
URLConnection loginURI = new URL("www.myaddress.fish").openConnection();
loginURI.setRequestProperty("Authorization","me:you");
response = loginURI.getInputStream();
Ничего сложного, и этот код отлично работает, когда ответ 200 или похожий. Ответ содержит детали, которые мне нужны для прогресса.
Однако иногда ответом является ответ 4xx (наиболее распространенным является 400 неверных запросов из недопустимого заголовка авторизации), и при выполнении того же запроса через SOAPUI или аналогичный я вижу, что тело ответа содержит полезную информацию (например, ваш неверное имя пользователя »). Я хочу иметь возможность собирать эту полезную информацию для обработки, но я не уверен, как это сделать.
Я попробовал традиционную идею "попробуй / поймай", но я получаю исключение Java, а не тело ответа. По глупости пробовал болотный стандарт
println response.text
В сегменте вылова, но это не сработало вообще. Предполагая, что тело ответа где-то хранится, как я могу его прочитать?