使用node.js,实现一个简单的接口服务器的功能
1、监听一个端口,接受http请求2、分析请求的url地址,如:http://127.0.0.1/test?a=1&b=2,得到所有参数3、将参数post给第三方的服务器...
1、监听一个端口,接受http请求
2、分析请求的url地址,如:http://127.0.0.1/test?a=1&b=2,得到所有参数
3、将参数post给第三方的服务器,soap接口,如:http://api.baidu.com/new.asmx
4、将返回内容输出给最初的请求者
5、同时将返回内容写入mysql数据库 展开
2、分析请求的url地址,如:http://127.0.0.1/test?a=1&b=2,得到所有参数
3、将参数post给第三方的服务器,soap接口,如:http://api.baidu.com/new.asmx
4、将返回内容输出给最初的请求者
5、同时将返回内容写入mysql数据库 展开
展开全部
var http = require('http');
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 态腊'me',
password : 'secret',
});
//开始你的mysql连接
connection.connect();
var server = http.createServer(function (req, res) {
//如果你发一个GET到http://127.0.0.1:1337/test?a=1&b=2的话
var url_info = require('url').parse(req.url, true);
//检查是不是给/test的request
if(url_info.pathname === '/test'){
//把query用url encode,这样可以用post发送
var post_data = require('querystring').stringify(url_info.query);
//post的option
var post_options = {
host: 'localhost',
port: 1337,
path: '/response_logic',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_data.length
}
};
//发出post
var request_made = http.request(post_options, function(response_received){
var buf_list = new Array();
response_received.on('data',function(data){
buf_list.push(data);
});
response_received.on('扮闭枝end',function(){
var response_body = 厅敏Buffer.concat(buf_list);
res.end(response_body);
connection.query('insert into .........',function(err,rows,fields){
//处理你的结果
});
});
});
//发出post的data
request_made.end(post_data);
}
//这个是用来回复上面那个post的,显示post的数据以表示成功了。你要是有别的目标,自然不需要这一段。
else{
req.pipe(res);
}
});
server.listen(1337, '127.0.0.1');
//在server关闭的时候也关闭mysql连接
server.on('close',function(){
connection.end();
});
console.log('listening on port 1337');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询