Im viết một khách hàng http để đọc từ facebook sử dụng Node.js và sử dụng đoạn mã sau:Vấn đề với http GET yêu cầu trên nút js
var http = require('http');
var options = {
host: 'www.fb.com',
path: '/',
"user-agent": "node.js"
};
http.get(options, function(res) {
console.log("Got response: " + res.statusCode);
console.log(res.headers);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
Trong trình duyệt của tôi, điều này trả về một 301 redirect xung quanh vị trí www.facebook.com, tuy nhiên trong node.js tôi nhận được phản hồi 302 với vị trí www.fb.com/common/browser.php. Tôi đã thử với phiên bản mới nhất của nút và nó vẫn ném lỗi này.
Tôi thực sự đánh giá cao một số trợ giúp với điều này, Cảm ơn bạn.
Tôi nhận ra vấn đề là gì .. Tôi đã không sử dụng http.client để thực hiện yêu cầu. Tôi đoán khách hàng sẽ xử lý phản hồi và cookie và tóm tắt nó. HTTP GET gửi yêu cầu mới mỗi lần và trạng thái không được duy trì giữa các yêu cầu. Vì vậy, fb.com phải làm một cái gì đó như thế, nếu cookie không đặt chuyển hướng đến fb.com và đặt cookie. Tôi có thể cần thêm chút giác ngộ ở đây. Nhưng đạo đức của câu chuyện ... sử dụng http.client để đưa ra yêu cầu. Bạn sẽ có được hành vi đúng – user868459