/ / Jak uzyskać ciało odpowiedzi podczas uzyskiwania 403. Java - java, android, wyjątek, httpurlconnection

Jak zdobyć ciało odpowiedzi podczas pobierania 403. Java - Java, Android, wyjątek, httpurlconnection

Zgłaszam prośbę do mojej aplikacji internetowej, aplikacja internetowa zgłasza błędy. nic skomplikowanego. takie jak to:

{"password":["can"t be blank"]}

i zwraca go z kodem 403.

W mojej aplikacji na Androida używam HttpURLConnection złożyć wniosek i łapię wyjątek biały próbujący getInputStream.

W tym wyjątku mogę getResponseMessage(), ale wszystko co mam to „Zakazane”

Jak mogę uzyskać rzeczywistą odpowiedź?

HttpURLConnection urlConnection = (HttpURLConnection)new URL(url).openConnection();
urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0");
try {
String result = IOUtils.toString(urlConnection.getInputStream());
urlConnection.disconnect();
App.SaveToken(result);
}catch(IOException exception){
if (urlConnection.getResponseCode()==403)
{
return urlConnection.getResponseMessage();
}
}

Odpowiedzi:

4 dla odpowiedzi № 1

Jeśli kod odpowiedzi nie jest 200 (lub 2xx), użyj getErrorStream() zamiast getInputStream().