我向我的网络应用发出请求,网络应用报告了一些错误。 没什么复杂的就像这样:
{"password":["can't be blank"]}
并返回代码403。
在我的Android应用程序中,我使用HttpURLConnection
发出请求,并在尝试getInputStream
时捕获异常白色。
在那个例外我可以getResponseMessage()
,但我得到的只是'禁止'
如何获得实际的回复正文?
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();
}
}
答案 0 :(得分:5)
如果回复代码不是200(或2xx),请使用getErrorStream()
代替getInputStream()
。