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 № 1Jeśli kod odpowiedzi nie jest 200 (lub 2xx), użyj getErrorStream()
zamiast getInputStream()
.