如何在Expressjs中进行Web服务调用?

时间:2011-07-14 14:47:23

标签: node.js express

app.get('/', function(req, res){

var options = {
  host: 'www.google.com'
};

http.get(options, function(http_res) {
    http_res.on('data', function (chunk) {
        res.send('BODY: ' + chunk);
    });
    res.end("");
});

});

我正在尝试下载google.com主页,然后重新打印,但我收到了“发送后无法使用可变标头API”。错误

任何人都知道为什么?或如何进行http呼叫?

1 个答案:

答案 0 :(得分:37)

查看node.js doc。

上的示例here

方法http.get是一种方便的方法,它处理GET请求的许多基本内容,它通常没有主体。下面是如何发出简单HTTP GET请求的示例。

var http = require("http");

var options = {
    host: 'www.google.com'
};

http.get(options, function (http_res) {
    // initialize the container for our data
    var data = "";

    // this event fires many times, each time collecting another piece of the response
    http_res.on("data", function (chunk) {
        // append this chunk to our growing `data` var
        data += chunk;
    });

    // this event fires *one* time, after all the `data` events/chunks have been gathered
    http_res.on("end", function () {
        // you can use res.send instead of console.log to output via express
        console.log(data);
    });
});