url = new URL(UPLOAD_URL);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("PUT");
urlConnection.setRequestProperty("content-type", "application/json");
urlConnection.setFixedLengthStreamingMode(responseJSONArray.toString(2).getBytes("UTF8").length);
urlConnection.setDoInput(false);
urlConnection.setDoOutput(true);
urlConnection.setConnectTimeout(this.CONNECT_TIMEOUT);
urlConnection.connect();
OutputStream output = urlConnection.getOutputStream();
output.write(responseJSONArray.toString(2).getBytes("UTF8"));
output.close();
また、以前にAuthenticatorを次のように設定しました。
Authenticator.setDefault(new Authenticator()
{
@Override
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(loginNameString, passwordString.toCharArray());
}
});
正しいログイン情報を入力しましたが、サーバーが401
コードで応答します。(ただし、同様の GET 要求が機能します。) その上getPasswordAuthentication()
、ストリームへの接続と書き込みのプロセスでメソッドが呼び出されていません。(入れたから分かるLog.v("app", "password here")
。)
何故ですか?