资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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

安装http

创新互联公司成立十年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供成都网站设计、成都网站制作、网站策划、网页设计、申请域名、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,创新互联公司通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。

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

以上这篇nodejs 使用http进行post或get请求的实例(携带cookie)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。


网页标题:nodejs使用http进行post或get请求的实例(携带cookie)
链接地址:http://cdkjz.cn/article/pdpojh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220