使用Node和Express(Nexmo)的HTTP GET请求
我正在尝试处理来自Nexmo的入站短信,并且很难搞清楚。 我对Node和Express也比较陌生。 他们的文档显示他们发出了一个webhook的请求,以捕获此处显示的内容。 我试过他们的示例代码,并将其添加到我的路线文件中,就像这样
var url = require('url');
module.exports = function(app) {
app.get('/webhook', function(request, response){
var url_parts = url.parse(request.url,true);
if (!url_parts.hasOwnProperty('to') || !url_parts.hasOwnProperty('msisdn') || !url_parts.hasOwnProperty('text'))
console.log('This is not an inbound message');
else {
//This is a DLR, check that your message has been delivered correctly
if (url_parts.hasOwnProperty('concat'))
{
console.log("Fail:" + url_parts.status + ": " + url_parts.err-code + ".n" );
}
else {
console.log("Success");
/*
* The following parameters in the delivery receipt should match the ones
* in your request:
* Request - from, dlr - ton
* Response - message-id, dlr - messageIdn
* Request - to, Responese - to, dlr - msisdnn
* Request - client-ref, dlr - client-refn
*/
}
}
response.writeHead(200, {"Content-Type": "text/html"});
response.end();
});
};
这是我渲染所有页面的文件,我只是为了接收入站数据而做了这个'/ webhook'页面。 当我将回调url粘贴到nexmo中时,它永远不会证实它使我认为我可能无法正确处理它。
他们的示例代码显示在他们的http.createServer中,并且我已经在我的顶级文件中以不同的方式调用
require('./app/server/routes')(app);
if (app.get('env') == 'development') app.use(errorHandler());
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
我应该试图在这里捕捉它吗? 或者我应该在客户端这么做? 我已经检查了这个问题,但我不太明白,作为主持人我会说什么,或者这不是正确的方法? 我也看了这个,我认为我上面发布的代码几乎都做了同样的事情。 欢呼任何帮助!
编辑:我有这样一个简单的应用程序工作:
var express = require('express');
var bodyParser = require('body-parser');
var url = require('url');
var app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/:pagename', function(req,res) {
var url_parts = url.parse(req.url,true);
console.log(url_parts.query.msisdn);
res.sendfile('public/' + req.params.pagename + '.html');
});
var port = process.env.PORT || 3333;
app.listen(port);
但是我无法把这个完整的应用程序。 我仍然不确定我应该放在哪里,我认为这将在路由器文件中,但我从来没有看到nexmo对我的日志文件的请求,所以我不知道那里发生了什么。
链接地址: http://www.djcxy.com/p/33091.html上一篇: HTTP GET request with Node and Express (Nexmo)
下一篇: Cannot display an overview of this response error in nexmo