Я делаю приложение для Android, которое будет подключаться к веб-серверу с использованием аутентификации xauth. Моя проблема в том, что я не могу получить ответ, если сервер возвращает 401, что вызывает исключение Java.
Мне нужен этот ответ, чтобы понять, что я делаю не так.
Во-первых, подходит ли HttpURLConnection для такого рода вещей. Во-вторых, как я могу получить ответ?
URL u_rl = new URL(url);
final HttpURLConnection connection =
(HttpURLConnection) u_rl.openConnection();
connection.setRequestMethod(method);
if (authorization != null) {
connection.setRequestProperty("Authorization", authorization);
}
final byte[] body = parameters.getBytes();
connection.setRequestProperty(
"Content-Length", Integer.toString(body.length));
connection.setDoOutput(true);
connection.connect();
final OutputStream output = connection.getOutputStream();
output.write(body);
output.flush();
System.out.println(connection.getResponseCode());
if (connection.getResponseCode() != 200) {
result.put("error", connection.getResponseCode()+"");
return null;
}
String out = IOUtils.toString(connection.getInputStream());
Я знаю, почему я получаю 400 или другой код ответа, проблема в том, что пользователь не знает, почему. Сервер возвращает мне ошибку в JSON, и я хотел бы получить этот код JSON, даже если код ответа не равен 200