nodejs 使用http进行post或get请求的实例(携带cookie)

今天小编就为大家分享一篇nodejs 使用http进行post或get请求的实例(携带cookie),写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。

安装http

nmp install http

函数封装(可直接拿去进行使用)

var http = require('http');
 
function nodePostGetRequest(HOST, PORT, method, bodydata, callBackFunction, path, cookie) {
  //把将要发送的body转换为json格式 
 var body = bodydata;
 var bodyString = JSON.stringify(body);
  //http 头部
 var headers = {
'Content-Type': 'application/json',
'Content-Length': bodyString.length,
'Cookie': cookie
 };//在此我向大家推荐一个前端全栈开发交流圈:619586920  突破技术瓶颈,提升思维能力
 
//用与发送的参数类型
var options = {
host: HOST,  //ip
port: PORT,   //port
path: path,   //get方式使用的地址
method: method, //get方式或post方式
headers: headers
  };
  var req = http.request(options, function(res) {
res.setEncoding('utf-8');
 
var responseString = '';
 
res.on('data', function(data) {
  responseString += data;
});
 
res.on('end', function() {
  //这里接收的参数是字符串形式,需要格式化成json格式使用
  var resultObject = JSON.parse(responseString);
  console.log('-----resBody-----', resultObject);
  callBackFunction(responseString);
});
 
req.on('error', function(e) {
  // TODO: handle error.
  console.log('-----error-------', e);
});
 });
 req.write(bodyString);
req.end();
}//在此我向大家推荐一个前端全栈开发交流圈:619586920  突破技术瓶颈,提升思维能力

nodePostGetRequest函数解析(使用方法)

HOST:ip地址
PORT:端口号
method:请求方式(get或post)
bodydata:进去时发送的内容(当为get请求时可以传null。)
callBackFunction:回调函数(请求发送后进行数据接收。需要自己实现对数据的处理)
path:请求路径(post请求可以为空。get不可为空)
cookie:需要携带的cookie

使用案例

 var datapost = {
  "BODY": {
    "Header": { 
    },
    "Body": {
    }
  }
}; 
nodePostGetRequest(HOST, PORT, "POST", datapost, detalCall, '', mycookie); 
或 //在此我向大家推荐一个前端全栈开发交流圈:619586920  突破技术瓶颈,提升思维能力
 var path = "";
nodePostGetRequest(HOST, PORT, "GET", "", dealCallback, path, mycookie);

结语

感谢您的观看,如有不足之处,欢迎批评指正。
#获取资料
本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
对web开发技术感兴趣的同学,欢迎加入Q群:619586920,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

猜你喜欢

转载自blog.csdn.net/weixin_44526331/article/details/86682210