Почтовый запрос Android не имеет тела приложения/jsonJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почтовый запрос Android не имеет тела приложения/json

Сообщение Anonymous »

Я тренируюсь с HTTP-запросом через клиент Android и сервер, используя модуль Okhttp3. Я уже использовал запрос на получение без проблем, но когда я пытаюсь отправить запрос, они не доходят до сервера.
Используя некоторый Log.d, который я проверил, он имеет неправильный формат и что сервер запрашивает тело приложения/json, но мне кажется, что я все делаю правильно. Я включил эту опцию

Код: Выделить всё

android:usesCleartextTraffic="true"
в манифесте, чтобы избежать блокировки из-за отсутствия шифрования.
Я также попробовал метод enqueue() вместо метода выполнения() для асинхронного метода почтового запроса, но это не помогло В любом случае это не работает, я не понимаю, почему я должен отправлять свой запрос синхронно, поскольку мне это не нужно, поэтому я переключился обратно
Вот код

Код: Выделить всё

                    JSONObject jsonObject = new JSONObject();
jsonObject.put("user", "IP-Alby");
jsonObject.put("password", "blabla");

RequestBody requestBody = RequestBody.create(
jsonObject.toString(),
MediaType.parse("application/json; charset=utf-8")
);

Log.d("NetworkRequest", "request created");
Request postRequest = new Request.Builder().url("http://x.x.x.x:25565/api/register").post(requestBody).build();
Response response = client.newCall(postRequest).execute();
int statusCode = response.code();
Log.d("NetworkRequest", "status code: "+statusCode);
String responseBody = response.body().string();
Log.d("NetworkRequest", "Response Body: " + responseBody);
if (response.isSuccessful()) {
Log.d("NetworkRequest", "POST was correct");
String responseBody2 = response.body().string();
Log.d("NetworkRequest", responseBody2);
}
if (!response.isSuccessful()) {
Log.e("NetworkRequest", "something went wrong");
}
и это отфильтрованный ответ LogCat, который я получаю

Код: Выделить всё

D  request created
D  status code: 400
D  Response Body: Expected application/json content type
E  something went wrong

Если вы заметили, это не вызывает ответ.isSuccesful()
Я бы не стал рассматривать опечатку в URL, потому что я уже тестировал ее другим способом, и это сработало, просто в этом приложении у меня болит голова.
Поможете? Содержимое тела отформатировано правильно, верно?

Подробнее здесь: https://stackoverflow.com/questions/789 ... -json-body
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»