-1
여기에 대해 모든 질문을 시도했지만, 모든 요청에 대해 400을 반환하는 코드가 있습니다. 내가 잘못하고있는 것은 아닙니다.HttpURLConnection POST가 400 개의 잘못된 요청을 반환합니다.
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 로그에 액세스 할 수 있습니까? 연결 상태를 확인하는 것은 좋아 보이지만 보내려는 내용이나 API가 기대하는 바를 모른 채 계속할 정보가 충분하지 않다고 생각하지 마십시오. –
약 400 개의 상태를 어떻게 이해합니까? – Loc
@MichaelDodd 3 개의 매개 변수, 사용자 이름, 전자 메일 및 grant_type을 포함하고 있으며, 이것이 Uri.Builder와 정확히 똑같습니다. 나는 debbuged했고 올바르게 작동하고 있습니다. –