Я не знаю, точная ли это проблема, но насколько я понимаю, это так.Я делаю внешний вызов API с помощью HTTP.call и пытаюсь проанализировать ответ как JSON (который он есть), но я получаю странное возвращаемое содержимое, которое я считаю содержимым Gzipped.Я устанавливаю для параметра npmRequestOptions для gzip значение true, но он по-прежнему возвращает то же содержимое.
Вот мой код:
var result;
try {
result = HTTP.call('GET', 'http://{URL}', {
params: {
key: '{SECRETKEY}',
att: '{ATTS}',
out: 'json',
},
npmRequestOptions : {gzip : true, json: true},
headers: {
// "Accept": "application/json",
'Content-Type' : 'application/json; charset=UTF-16',
"OSLC-Core-Version": "2.0",
},
});
} catch (e) {
// Got a network error, timeout, or HTTP error in the 400 or 500 range.
}
// Append data in correct experiences format.
var content = JSON.parse(result.content);
Ошибка, как показано на скриншоте:
Вот заголовки ответа от вызова API, которые, кажется, указывают на то, что содержимое gzip-файла:
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
CF-RAY: 4291c15b957d4d88-PER
Content-Encoding: gzip
Content-Type: application/json; charset=utf-16
Date: Mon, 11 Jun 2018 05:42:36 GMT
ETag: W/"863e-ylc8HuIAiQAynP7anYY1GA"
Server: cloudflare
Vary: Origin, Accept-Encoding
X-Powered-By: Express
Я считаю, что npmRequestOptions: {gzip: true,json: true} должен работать, но это не так.Дополнительной информации нет, и я искал весь день.