【发布时间】:2016-03-28 15:01:17
【问题描述】:
我正在为在服务器端使用 nodejs 的 Android 应用程序构建后端,Android 应用程序向服务器发出带有所需参数的 POST 请求,服务器应该进行处理并将响应发送到请求用户作为 SMS。我有一个事务性 SMS 网关 API,它可以完美地从浏览器发送 SMS 作为 GET 请求。但是在使用请求模块向节点脚本中的 API 发出 GET 请求时,相同的 API 不会发送 SMS。 ..
下面是我的代码,请指出我哪里出错了..
var express = require('express');
var request = require("request");
var bodyParser = require('body-parser');
var app = express();
var userName = "myUserName";
var passWord = "myPassWord";
var senderID = "mySenderID";
var content;
var from_number;
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.get('/', function(request, response) {
response.send('We Dont Reply for GET/,make a POST/ instead..');
});
app.post('/',
bodyParser.urlencoded({ extended: true }),
function(req, res) {
content = req.body.content; //Parameters passed as POST Request from my Android App
from_number = req.body.from_number;
console.log('making request to offlinebrowser-web with URL as ' + content + ' and sender as ' + from_number );
request("http://offlinebrowser-web.appspot.com/ExtractServlet?url=http://"+content+"&OutputType=1&ExtractorType=1", function(error, response, data) {
console.log('backend response : ' + data); //logs to console the valid output of GET Request
console.log('initiating response module');
request("**3.*5.*4.1*9/api/v3/sendsms/plain?user="+userName+"&password="+passWord+"sZd5y6AA&sender="+senderID+"&SMSText="+data+"&type=longsms&GSM="+from_number, function(error, response, body)
//making a GET request to the above link in browser,perfectly sends an SMS,but here doesnt work!
{
console.log(body); //this line logs undefined to the console
});
res.status(200).end();
});
});
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});
【问题讨论】:
-
您是否控制台记录了错误或状态代码?如果有,它们是什么?
-
console.log(body) 用于 API 请求日志“未定义”,正如我在代码中的评论中提到的那样
-
当然,但是错误或状态码呢?
-
但是节点给我无效 URI 错误的相同 URI 工作正常,并且在浏览器上进行测试时发送短信。..
标签: javascript android node.js http-post http-get