如何封装Node.js中的HTTP和HTTPS请求操作为高效长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计214个文字,预计阅读时间需要1分钟。
Node.js 实现的 HTTP 和 HTTPS 请求封装操作示例如下:
javascriptconst url=require('url');const zlib=require('zlib');const http=require('http');const https=require('https');
function sendRequest(options, callback) { const parsedUrl=url.parse(options.url); const protocol=parsedUrl.protocol==='https:' ? https : http;
const req=protocol.request(parsedUrl, (res)=> { const chunks=[]; res.on('data', (chunk)=> { chunks.push(chunk); }); res.on('end', ()=> { let body=Buffer.concat(chunks); if (res.headers['content-encoding']==='gzip') { zlib.gunzip(body, (err, decompressed)=> { if (err) { return callback(err); } body=decompressed; callback(null, body); }); } else { callback(null, body); } }); });
req.on('error', (e)=> { callback(e); });
if (options.method==='POST' && options.data) { req.write(JSON.stringify(options.data)); }
req.end();}
// 使用示例const options={ url: 'http://example.com', method: 'GET', data: {}};
sendRequest(options, (err, data)=> { if (err) { console.error('请求错误:', err); } else { console.log('响应数据:', data.toString()); }});
本文实例讲述了nodejs实现的www.axita.com.cn/'); console.log(res); })();
执行命令
nodemon test.js
希望本文所述对大家node.js程序设计有所帮助。
本文共计214个文字,预计阅读时间需要1分钟。
Node.js 实现的 HTTP 和 HTTPS 请求封装操作示例如下:
javascriptconst url=require('url');const zlib=require('zlib');const http=require('http');const https=require('https');
function sendRequest(options, callback) { const parsedUrl=url.parse(options.url); const protocol=parsedUrl.protocol==='https:' ? https : http;
const req=protocol.request(parsedUrl, (res)=> { const chunks=[]; res.on('data', (chunk)=> { chunks.push(chunk); }); res.on('end', ()=> { let body=Buffer.concat(chunks); if (res.headers['content-encoding']==='gzip') { zlib.gunzip(body, (err, decompressed)=> { if (err) { return callback(err); } body=decompressed; callback(null, body); }); } else { callback(null, body); } }); });
req.on('error', (e)=> { callback(e); });
if (options.method==='POST' && options.data) { req.write(JSON.stringify(options.data)); }
req.end();}
// 使用示例const options={ url: 'http://example.com', method: 'GET', data: {}};
sendRequest(options, (err, data)=> { if (err) { console.error('请求错误:', err); } else { console.log('响应数据:', data.toString()); }});
本文实例讲述了nodejs实现的www.axita.com.cn/'); console.log(res); })();
执行命令
nodemon test.js
希望本文所述对大家node.js程序设计有所帮助。

