@AndrewSlv

Какие могут быть причины того что при чтении ответа по POST запросу (на Java) получаю иероглифы?

Доброго времени суток.
При чтении ответа получаю тело в иероглифах.
Понимаю что сразу напрашивается ответ - проблема в кодировке. Но уже перепробывал все кодировки, чисто для теста и поприколу (после основных популярных).
Конкретнее:
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true); // пробовал передавать параметры как в теле запроса так и в параметрах в строке
connection.setRequestProperty("Host", HOST);
connection.setRequestProperty("Origin", ORIGIN);
connection.setRequestProperty("Accept-Charset", CHARSET); //CHARSET = "UTF-8";
connection.setRequestProperty("Content-Type", CONTENT_TYPE); //"application/x-www-form-urlencoded;charset=" + CHARSET;
connection.setRequestProperty("Accept-Encoding", ACCEPT_ENCODING); //"gzip, deflate"
connection.setRequestProperty("Accept-Language", ACCEPT_LANGUAGE); //"ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"

Читаю овтет:
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), CHARSET));
            while ((line = reader.readLine()) != null)
            {
                result.append(line);
                result.append("\n");
            }

Заранее: пробовал вычитывать и подругому :
DataInputStream in = new DataInputStream(connection.getInputStream());
IOUtils.copy(connection.getInputStream(), writer, "UTF-8");
И по всякому как только мог найти в нете и придумать...
Результат один:
a5751e011daa45e7befa0975e9dd271b330a75f598274f2aa6043a1338d52342.jpg

Соответвенно при смене кодировок.. только меняются иероглифы.. на другие иероглифы...
Но самое инетерсное еще то что через утилиту Postman в Chrome. Такойже запрос возвращает нужный мне ответ (В нормальном виде).
  • Вопрос задан
  • 316 просмотров
Решения вопроса 1
XNoNAME
@XNoNAME
Эникейщик
может так?:
BufferedReader reader = new BufferedReader(new InputStreamReader(new GZIPInputStream(connection.getInputStream()), CHARSET));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы