要使用http的get和post方式访问接口获取数据,需要先安装http模块,执行如下命令:
npm install http
以下为具体封装的http的get和post的请求方式:
var http = require('http'); var qs = require('querystring'); //get方式获取内容 exports.get = function(host, port, path, data, callback) { var content = qs.stringify(data); var opt = { method: 'GET', host: host, port: port, path: path + '?' + content, headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }; http.get(opt, function(res) { if(res.statusCode === 200) { res.on('data', function(body) { callback(0, body); }); } else { callback(res.statusCode); } }).on('error',function(e) { callback(-1, 'Got error: ' + e.message); }); }; //post方式获取内容 exports.post = function(host, port, path, data, callback) { var content = qs.stringify(data); var opt = { method: 'POST', host: host, port: port, path: path, headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }; var req = http.request(opt, function(res) { if(res.statusCode === 200) { res.on('data', function(body) { callback(0, body); }); } else { callback(res.statusCode); } }).on('error',function(e) { callback(-1, 'Got error: ' + e.message); }); req.write(content); req.end(); };
以下为调用方式:
var http = require('./system/http'); var data = { name: '123' }; http.get('127.0.0.1', 8088, '/admin/widget.jsp', data, function(code, body) { console.log('code:'+code+'|\tbody:'+body); }); http.post('127.0.0.1', 8088, '/admin/widget.jsp', data, function(code, body) { console.log('code:'+code+'|\tbody:'+body); });
自此,http的模块已经完成了
感谢您的阅读,希望对您有帮助,本文版权归 #惊讶# 所有