Я пытаюсь выяснить, как лучше всего отправлять запросы HTTP / HTTPS и обрабатывать сжатые ответы gzip / deflate вместе с печенье.
Лучшее, что я нашел, это https://github.com/mikeal/request , который обрабатывает все , кроме сжатия. Есть ли модуль или метод, который сделает все, о чем я прошу?
Если нет, могу ли я каким-то образом объединить запрос и zlib? Я попытался объединить zlib и http.ServerRequest, и это с треском провалилось.
Спасибо!
Все ответы здесь не работали, и я возвращал необработанные байты вместо этого и эти gzip
, флаг не работал также. Как оказалось, Вы должны установить кодирование на null
, чтобы препятствовать тому, чтобы запросы преобразовали ответ на кодирование utf-8 и вместо этого сохраняете двоичный ответ.
const request = require("request-promise-native");
const zlib = require("zlib");
const url = getURL("index.txt");
const dataByteBuffer = await request(url, { encoding: null });
const dataString = zlib.gunzipSync(response);