我有一个来自here
的示例const https = require('https');
const options = {
hostname: 'encrypted.google.com',
port: 443,
path: '/',
method: 'GET'
};
const req = https.request(options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (e) => {
console.error(e);
});
req.end();
在https.request
响应中,如何获取响应的正文(html)。我的意思是要在process.stdout.write(d);
的d对象中使用哪个属性?
答案 0 :(得分:2)
在上面给出的示例中, process.stdout.write(d)将响应主体写入控制台。如果要使用 console.log(),则可以按以下方式使用它,
res.on('data', (d) => {
process.stdout.write(d);
console.log(d.toString('utf8'));
});
d.toString('utf8')是必需的,因为 d 是一个缓冲区变量,并且必须转换为 utf8 字符串。
d.toString('utf8')
上面将缓冲区转换为字符串。