[英]Performing outgoing HTTP2 requests in NodeJS
我已經檢查了NodeJS文檔,但找不到有關如何使以下代碼使用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.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (e) => {
console.error(e);
});
req.end()
甚至最新版本的NodeJS都還不支持此功能嗎?
您將找不到Node.js本機方式:
如何使以下代碼使用HTTP2執行請求
因為,HTTP2的工作原理與HTTP1.1完全不同。 因此,Node.js http2核心模塊導出的接口完全不同,具有多路復用等附加功能。
要使用HTTP1.1接口發出HTTP2請求,您可以使用npm模塊,我親自編碼並使用: http2-client
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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.