Tôi đang sử dụng node.js để tải xuống trang web. Tuy nhiên, nó không nhận được bất kỳ khối dữ liệu nào:Sử dụng yêu cầu ứng dụng khách từ xa node.js HTTP không trả lại bất kỳ nội dung nào
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')
});
});
Thông báo bàn điều khiển cuối cùng là "yêu cầu được thực hiện". Không có tin nhắn điều khiển nào có "chunk received" hoặc tương tự. Suy nghĩ?
bạn quên request.end() – generalhenry
bạn cũng có thể chỉ chuyển sang sử dụng http.get() http://nodejs.org/docs/v0.3.6/api/http.html#http.get – generalhenry
Yup bạn quên request.end(), nhưng tôi sẽ sử dụng một wrapper quanh thư viện đơn giản này. Xem https://github.com/ry/node/wiki/modules => Ví dụ [yêu cầu] (http://github.com/mikeal/node-utils/tree/master/request/), [node-wwwdude ] (http://github.com/pfleidi/node-wwwdude) để đặt tên chỉ là một vài. – Alfred