Nginx проблема с кодировкой ответа на подзапрос - PullRequest
0 голосов
/ 05 августа 2020

У меня есть сервер Nginx с местоположением и простым сценарием N JS, где мне нужно проанализировать ответ surequest. Ответ от API имеет такой заголовок:

«Content-Type»: «application / json; charset = utf-8», «Cache-Control»: «no-store», «Content -Encoding ":" gzip ", ...

Когда я пытаюсь прочитать responseBody, это выглядит так:

\ u001f� \ b \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0004 \ u0000�� \ u0007 \u001cI�%&/m�{J�J��t�\b� \ u0013 $ ؐ @ \ u0010������ \ u001diG #) � * ��eVe] f \ u0016 @ � 흼 �� {� �� {���; �N '

Выпуск воспроизводится только в N JS. Похоже, проблема с кодировкой. Кто-нибудь знает, как это исправить и разобрать такой ответ?

PS: Я пытался проверить JSON ответ от другого API и получил ту же проблему с кодировкой. Nginx версия - 1.19.1, а N JS - 0.4.2

1 Ответ

0 голосов
/ 08 августа 2020

Проблема была в кодировке gzip. Расшифровка ответа мне помогла. Я добавил эту директиву в location, и теперь она работает правильно.

gunzip on;

...