node.js - NodeJS 从 https 流写入二进制文件

标签 node.js https stream binary chunks

简单的问题,我希望...

我想使用来自 Node 文档网站的 HTTPS ( https://nodejs.org/api/https.html ) 代码,但我想将其写入文件而不是 stdout。

const https = require('https');

https.get('https://encrypted.google.com/', (res) => {
  console.log('statusCode:', res.statusCode);
  console.log('headers:', res.headers);

  res.on('data', (d) => {
    process.stdout.write(d);
  });

}).on('error', (e) => {
  console.error(e);
});

我找到了以下用于写入二进制文件的 FS 代码,但似乎无法成功地将两者放在一起。

var crypto = require('crypto');
var fs = require('fs');
var wstream = fs.createWriteStream('myBinaryFile');
// creates random Buffer of 100 bytes
var buffer = crypto.randomBytes(100);
wstream.write(buffer);
// create another Buffer of 100 bytes and write
wstream.write(crypto.randomBytes(100));
wstream.end();

有什么想法吗?

最佳答案

试试这个:

const https = require('https');
const fs = require('fs');
const wstream = fs.createWriteStream('myBinaryFile');

https.get('https://encrypted.google.com/', (res) => {
  console.log('statusCode:', res.statusCode);
  console.log('headers:', res.headers);

  res.on('data', (d) => {
    wstream.write(d);
  });

  res.on('end', () => {
    wstream.end();
  })

}).on('error', (e) => {
  console.error(e);
});

关于node.js - NodeJS 从 https 流写入二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48772097/

相关文章:

Scheme 中的流

javascript - 比较两个玩家分数数组,看看谁在列表中上升/下降

node.js - Mongoose 5.0.15/MongoDB 3.6.4 转换为数组失败,因为值 [NaN, NaN]

java - 编写代理服务器

asp.net - 使用 WCF 通过 Http 和 Https 调用 Web 服务

c - 可以通过 fseek() 读取整个文件到 SEEK_END 并通过 ftell() 获取文件大小吗?

node.js - CORS预检 channel 未成功,React to Express

node.js - 使用自制软件安装特定版本的 Node 会出现错误

https - HTTPS header 的加密

c++ - Boost Spirit可以用来解析字节流数据吗?