使用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数据库
展开
 我来答
kaisa1028
2013-05-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5429
采纳率:28%
帮助的人:2567万
展开全部
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');
飘逸的伏笔528
2013-05-26 · TA获得超过612个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:121万
展开全部
这是在给我们讲解服务器方面的知识么?
追问
不好意思,没写清楚。是需要指点下使用node.js的代码如何写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式