我假设您使用的是0.10 版。*。发生的情况是 HTTP 可以以块的形式发送请求,这意味着响应可能会分成许多不同的部分。
您应该有一个 String 对象,并在收到这些块时将它们连接到该对象,在没有更多块之后,响应对象会发出一个结束事件。
代码如下:
var http = require('http');
var express = require('express');
var app = express();
// app.use(express.static(__dirname + '/public'));
app.get("/", function (req, res) {
var options = {
hostname: "search.mysite.com",
path: '/search?site=hub&client=hub_frontend&output=xml_no_dtd&q=cats'
};
var gsaReq = http.get(options, function (response) {
var completeResponse = '';
response.on('data', function (chunk) {
completeResponse += chunk;
});
response.on('end', function() {
console.log(completeResponse);
})
}).on('error', function (e) {
console.log('problem with request: ' + e.message);
});
});
app.listen(3000);