如何在获取 403 的同时获取响应正文。Java
How to get a response body while getting 403. Java
我向我的网络应用程序发出请求,网络应用程序报告了一些错误。
没有什么复杂的。就像这样:
{"password":["can't be blank"]}
它 returns 它带有代码 403。
在我的 android 应用程序中,我使用 HttpURLConnection
发出请求,但我在尝试 getInputStream
时发现了一个异常。
在那个异常中我可以 getResponseMessage()
,但我得到的只是 'Forbidden'
如何获得实际的响应正文?
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();
}
}
如果响应代码不是 200(或 2xx),请使用 getErrorStream()
而不是 getInputStream()
。
我向我的网络应用程序发出请求,网络应用程序报告了一些错误。 没有什么复杂的。就像这样:
{"password":["can't be blank"]}
它 returns 它带有代码 403。
在我的 android 应用程序中,我使用 HttpURLConnection
发出请求,但我在尝试 getInputStream
时发现了一个异常。
在那个异常中我可以 getResponseMessage()
,但我得到的只是 'Forbidden'
如何获得实际的响应正文?
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();
}
}
如果响应代码不是 200(或 2xx),请使用 getErrorStream()
而不是 getInputStream()
。