本文实例讲述了nodejs实现的http、https 请求封装操作。分享给大家供大家参考,具体如下:
libs/request.js
const URL = require('url');
const zlib = require('zlib');
const http = require('http');
const https = require('https');
const qs = require('querystring');
function Request(cookie) {
this.cookies = [];
if (cookie !== undefined) {
this.setCookie(cookie);
}
}
Request.prototype.getHeaders = function(host, postData) {
let headers = {
'Host': host,
'Pragma': 'no-cache',
'Connection': 'keep-alive',
'Cache-Control': 'no-cache',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4,es;q=0.2',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
};
if (this.cookies.length) {
headers.Cookie = this.cookies.join('; ');
}
if (postData != '') {
headers['Content-Length'] = Buffer.byteLength(postData);
}
return headers;
}
Request.prototype.setCookie = function(cookie) {
let cookies = cookie.split(';');
for (let c of cookies) {
c = c.replace(/^\s/, '');
this.cookies.push(c);
}
return this;
}
Request.prototype.request = function(method, url, params) {
let postData = qs.stringify(params || {});
let urlObj = URL.parse(url);
let protocol = urlObj.protocol;
let options = {
hostname: urlObj.host,
port: urlObj.port,
path: urlObj.path,
method: method,
headers: this.getHeaders(urlObj.host, postData),
};
return new Promise((resolve, reject) => {
let req = (protocol == 'http:' "htmlcode">
const request = require('./request')();
(async function() {
let res = await request.get('http://www.axita.com.cn/');
console.log(res);
})();
执行命令
nodemon test.js
希望本文所述对大家node.js程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“nodejs实现的http、https 请求封装操作示例”评论...
更新日志
2025年11月10日
2025年11月10日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]