Проблема заключается в следующем, я отсылаю POST-запросом данные, сервер должен мне возвратить данные в формате json (судя по Fiddler`у), я вроде их получаю, но выводится абракадабра:
String data = "number=123&number2=321"; //данные для отправки
URL myUrl = new URL("https://url");
connection = (HttpURLConnection) myUrl.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
//указываем заголовки (как заполнить Content-Length?)
connection.setRequestProperty("Referer", "refererurl");
connection.setRequestProperty("Accept-Encoding", "gzip, deflate, br");
connection.setRequestProperty("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
connection.setRequestProperty("Host", "host");
connection.setRequestProperty("Connection", "keep-alive");
connection.connect();
//отправляем данные
DataOutputStream wr = new DataOutputStream( connection.getOutputStream());
wr.writeBytes(data);
wr.flush();
wr.close();
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
String line = "";
String res = "";
while ((line = reader.readLine()) != null) {
res += line;
}
reader.close();
in.close();
textView.setText(res); //выводим в textview
connection.disconnect();
Просмотрел заголовки, которые пришли от сервера, совпадают с теми, что показаны в Fiddler кроме Content-Length, почему-то его нету вообще, хотя данные приходят, но прочитать не могу их, в связи с этим вот пара вопросов:
Update: убрал следующие строки
connection.setRequestProperty("Referer", "refererurl");
connection.setRequestProperty("Accept-Encoding", "gzip, deflate, br");
connection.setRequestProperty("Accept-Language", "ru-RU,ru;q=0.8,en- US;q=0.6,en;q=0.4");
connection.setRequestProperty("Host", "host");
connection.setRequestProperty("Connection", "keep-alive");
оставил только Content-Type, и все нормально стало отображаться
Если на сервер необходимо отправить данные в json формате, нужно строкой отправлять также или по другому?
Правильно ли я вообще отправляю post-запрос? мб что-то добавить или вообще убрать, а то я ток 2 дня назад начал работать с этим)
Если я закрываю connection.disconnect(), я могу заново через эту переменную создать новое соединение и указать заголовки?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники