簡體   English   中英

解壓一個內容處理的 gzip 文件:附件

[英]Unpack a gzip file that is content-disposition: attachment

我得到了一個 api 的 url,當我在瀏覽器中訪問該 url 並通過我的登錄時,它將正確下載一個 zip 文件,其中包含我想要的數據的 JSON 文件。

如何通過使用 Node 獲取此 JSON 來獲取它?

當我這樣打電話時

const data = await fetch(url, {
    headers: {
      Authorization: "Basic " + btoa(username + ":" + password)
    }
});

我正確地收到了data.bodydata.headers,但我正在尋找的 JSON 數據附近沒有任何東西。

甚至可以對附加的文件進行 API 調用嗎?

我的解決方案:

import request from "request";
import zlib from "zlib";
import concat from "concat-stream";

const btoa = (str) => Buffer.from(str).toString("base64");

request(url, {
  headers: {
    Authorization: "Basic " + btoa(username + ":" + password),
  }})
    .pipe(zlib.createGunzip())
    .pipe(
       concat((stringBuffer) => {
         console.log(stringBuffer.toString()) // gives me the json I was looking for
       })
     );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM