尝试连接curl与express js


trying to connect curl with express js

你好,我正试图从我的网站与curl (php)连接到一个rest api(节点js-express-js)我已经做了。除了curl的答案为空

之外,Everythink似乎工作得很好

server from node-js:

var express    = require('express');        // call express
var app        = express();                 // define our app using express
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());


var port = process.env.PORT || 8080;        // set our port
// ROUTES FOR OUR API
// =============================================================================
var router = express.Router();  
router.get('/', function(req, res) {
    res.json({ message: 'hooray! welcome to our api!' });
});

app.use('/api', router);
app.listen(port);
console.log('Listening on ' + port);

在我的网站上,我试图通过使用curl检索json:

<?php
    $ch = curl_init();
    // set url
    curl_setopt($ch, CURLOPT_URL, "xxx:8080/api/"); // i removed the ip from my server for safety reasons
    //return the transfer as a string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // $output contains the output string
    $output = curl_exec($ch);
print "output=";
print_r($ouput);
    // close curl resource to free up system resources
    curl_close($ch);
?>

注意:发送一个get请求上面从邮差我收到我想要的答案。我不知道怎么了。提前谢谢。

而且,curl是一个阻塞函数。对吧?

两个"服务器"在同一台服务器上。我不知道是不是javascript的跨服务器源错误

为什么你没有通过PHP得到响应- print_r func中错误的var名称

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "xxx:8080/api/"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
print "output=";
print_r($output); // missed t in output
curl_close($ch);
?>