-1
ここではすべての質問を試しましたが、私がしようとするすべての要求に対して、私のコードはまだ400を返しています。HttpURLConnection POSTが400 Bad Requestを返しました
HttpURLConnection connection = null;
InputStream in = null;
try {
URL url = new URL(uri);
connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(10000);
connection.setConnectTimeout(20000);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
connection.setDoInput(true);
connection.setDoOutput(true);
String query = "";
if (Validator.isNotNull(paramsMap) && !paramsMap.isEmpty()) {
Uri.Builder builder = new Uri.Builder();
for (Map.Entry<String, String> entry : paramsMap.entrySet()) {
builder.appendQueryParameter(entry.getKey(), entry.getValue());
}
query = builder.build().getEncodedQuery();
}
if (!query.isEmpty()) {
OutputStream os = connection.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write(query);
writer.flush();
writer.close();
os.close();
}
connection.connect();
int status = connection.getResponseCode();
if (status == 200) {
in = connection.getInputStream();
} else {
in = connection.getErrorStream();
}
} finally {
connection.disconnect();
}
return in;
リモートサーバー上のAPIのログにアクセスできますか?コードを使用してコードを実行するには、次のコードを使用します。接続を確立するのはOKですが、あなたが送信するはずのものやAPIが期待していることがわからない場合は、十分な情報がないと思います。 –
約400のステータスを理解していますか? – Loc
@MichaelDoddは、 3つのパラメータ、ユーザー名、電子メール、grant_typeなどがあります.Uri.Builderで行っていることとまったく同じです。私はデバブしています。 –