我正在使用 node.js 下载网页。但是,它没有收到任何数据 block :
console.log('preparing request to ' + url)
u = require('url').parse(url)
var remote_client = http.createClient(80, u['host']);
var request = remote_client.request("GET", u['pathname'], {"host": u['host']});
console.log("request made")
request.addListener('response', function (response) {
response.setEncoding('binary')
var body = '';
response.addListener('data', function (chunk) {
body += chunk;
console.log('chunk received')
});
});
最后一条控制台消息是“发出请求”。没有带有“已收到 block ”等的控制台消息。想法?
最佳答案
这是一个一直对我有用的例子:
var sys = require('sys'),
http = require('http');
var connection = http.createClient(8080, 'localhost'),
request = connection.request('/');
connection.addListener('error', function(connectionException){
sys.log(connectionException);
});
request.addListener('response', function(response){
var data = '';
response.addListener('data', function(chunk){
data += chunk;
});
response.addListener('end', function(){
// Do something with data.
});
});
request.end();
关于node.js - 使用 node.js HTTP 远程客户端请求不返回任何正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800240/