xauth認証を使用してWebサーバーに接続するAndroidアプリを作成しています。私の問題は、サーバーが Java 例外を引き起こす 401 を返した場合、応答を得られないことです。
何が間違っているのかを知るために、その応答が必要です。
まず第一に、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 でエラーを返すので、応答コードが 200 でなくてもその JSON コードを取得したい