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
 };

//用与发送的参数类型
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();
}

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);

或

 var path = "";
nodePostGetRequest(HOST, PORT, "GET", "", dealCallback, path, mycookie);

相关推荐