📅  最后修改于: 2023-12-03 15:03:13.199000             🧑  作者: Mango
在 Node.js 中,http.ClientRequest.protocol 方法用于获取或设置请求使用的协议。
使用 http.ClientRequest.protocol
方法可以获取请求使用的协议。默认情况下,如果 URL 中包含协议信息,则会使用该协议,否则默认使用 http
。
const http = require('http');
const options = {
hostname: 'www.example.com',
path: '/',
method: 'GET',
};
const req = http.request(options, (res) => {
console.log(`STATUS: ${res.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
res.setEncoding('utf8');
res.on('data', (chunk) => {
console.log(`BODY: ${chunk}`);
});
res.on('end', () => {
console.log('No more data in response.');
});
});
console.log(`Request protocol: ${req.protocol}`);
Request protocol: http
使用 http.ClientRequest.protocol
方法可以设置请求使用的协议。默认情况下,如果 URL 中包含协议信息,则会使用该协议,否则默认使用 http
。
http.Agent
中的 rejectUnauthorized
选项,以防止出现 SSL 证书错误。const http = require('http');
const options = {
hostname: 'www.example.com',
path: '/',
method: 'GET',
};
const req = http.request(options, (res) => {
console.log(`STATUS: ${res.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
res.setEncoding('utf8');
res.on('data', (chunk) => {
console.log(`BODY: ${chunk}`);
});
res.on('end', () => {
console.log('No more data in response.');
});
});
req.protocol = 'https';
req.agent.options.rejectUnauthorized = false;
req.end();