我正在从我的php和Node.js应用程序进行REST API调用,返回客户端提供的返回Json对象的特定URL。使用PHP可以正常工作。但是,我无法从节点应用程序接收数据?可能有人帮助我的原因是什么?
注意:出于安全原因,我已粘贴了一个虚拟REST URI
$ response = 的file_get_contents( 'http://xyz.net/v2_resmgr/providers/pools');回声 $响应;
var job = new CronJob({ cronTime:'0 * / 3 * * * *', onTick:function(){
url= "http://xyznet/v2_resmgr/providers/pools"; var request = http.get(url, function (response) { var buffer = "", data, route; response.on("data", function (chunk) { buffer += chunk; }); response.on("end", function (err) { console.log(buffer); }); request.setTimeout( 200000, function( ) { // handle timeout here console.log("Time Out call to the Rest API"); }); }); }, start: true }); job.start();
答案 0 :(得分:2)
我不知道这是否是您正在寻找的答案,但是当您使用'request'包时,生活会变得更轻松(https://www.npmjs.org/package/request)
以下是使用请求模块的代码:
var request = require('request');
request('http://xyznet/v2_resmgr/providers/pools', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Print the body of the response.
}
})
<小时/> 更新:我将某些内容编写得更接近您的帖子了。下面的代码不使用“请求”模块,它每隔3秒就与服务器联系。
setInterval(function () {
http.get('http://echo.jsontest.com/key/value', function (response) {
var responseBody = '';
response.on('data', function (chunk) {
responseBody += chunk;
});
response.on('end', function () {
console.log(responseBody);
var object = JSON.parse(responseBody)
});
});
}, 3000);