Как расшифровать ответ HTTPS? (nodeJS)
Всем привет. Делаю автореггер для одного приложения и возникла проблема. (nodeJS, пакет needle для запросов)
Предыстория:
Сначала отсниффал приложение Fiddler'ом, но ответ от сервера не расшифровывался Fiddler'ом, хотя сертификат стоял. Погуглив я нашёл, что данное приложение не возвращает заголовок Content-Encoding: deflate, по-этому фидлер не понимает что ответ сжат и выводит кракозябры. Решил проблему небольшим скриптом для фидлера, который добавляет данный заголовок в ответ.
Собственно сама проблема: Начав писать код я понял, что понятия не имею как привести к читаемому виду ответ сервера в коде. Кто-нибудь может подсказать? Запрос выполняется корректно 100%, потому что приходит письмо с подтверждением регистрации на почту.
Ответ сервера (на сколько я понимаю, сжатый с помощью алгоритма deflate):
Код запроса:
needle.post(Endpoint + 'reg', authRequest, options, function(err, response) {
if(err) {
return console.log('[AUTH] Ошибка авторизации: ' + err);
}
console.log(response);
});
Ответы (1 шт):
Ну, собственно, ответ крылся в вопросе.
Нужно просто сделать операцию, обратную сжатию.
использовал zlib, вместо body использовал raw (там лежит Buffer)
zlib.inflate(response.raw, function(err, buf) {
console.log("in the inflate callback:", buf);
console.log("to string:", buf.toString("utf8") );
});