Node.js 在NodeJS中执行传出HTTP2请求
我已检查,但找不到有关如何使以下代码使用HTTP2执行请求的任何信息:Node.js 在NodeJS中执行传出HTTP2请求,node.js,http2,Node.js,Http2,我已检查,但找不到有关如何使以下代码使用HTTP2执行请求的任何信息: 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
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()
即使是最新版本的NodeJS也不支持这一点吗?这在
v9.9.0
中提供。你可以看看。如果您想要全部内容,可以在HTTP2中创建一个。另外,还可以使用http2触发请求。您可以在这里查看一些想法您将无法找到Node.js本机方式来:
如何使下面的代码使用HTTP2来执行请求
因为,HTTP2的工作原理与HTTP1.1完全不同。
因此,Node.js http2核心模块导出的接口完全不同,具有复用等附加功能
要使用HTTP1.1接口发出HTTP2请求,您可以使用npm模块,我个人编写并使用:
const {request} = require('http2-client');
const h1Target = 'http://www.example.com/';
const h2Target = 'https://www.example.com/';
const req1 = request(h1Target, (res)=>{
console.log(`
Url : ${h1Target}
Status : ${res.statusCode}
HttpVersion : ${res.httpVersion}
`);
});
req1.end();
const req2 = request(h2Target, (res)=>{
console.log(`
Url : ${h2Target}
Status : ${res.statusCode}
HttpVersion : ${res.httpVersion}
`);
});
req2.end();