Я хочу иметь возможность установить cookie, а затем перенаправить клиента с node.js
, не используя Express
или другую стороннюю библиотеку. В Интернете я могу найти примеры, используя Express
.Установить cookie и перенаправить, не экспресс
Когда я пытаюсь установить cookie и перенаправить клиента, cookie не будет установлен. Но когда я комментирую перенаправление, res.writeHead(301, {Location: serverAddress});
, cookie получает набор, но нет перенаправления.
Итак, как настроить cookie, а затем перенаправить клиента, используя прямой node.js
?
var fs = require("fs");
var http = require('http');
var home = fs.readFileSync('random.html');
var serverAddress = "http://yourIpAddress";
http.createServer(function(req, res) {
if(req.url === '/favicon.ico') {
res.writeHead(200, {'Content-Type': 'image/x-icon'});
res.end();
} else if(req.headers.cookie) {
console.log("Got cookie");
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.write(home);
res.end();
} else {
console.log('Creating Cookie');
var cookie = {
"some": "data"
};
res.writeHead(200, {'Set-Cookie': cookie, 'Content-Type': 'text/plain'});
res.writeHead(301, {Location: serverAddress});
res.end();
}
}).listen(80);
есть причина, почему вы не можете использовать выражения? – Daemedeor
Я смущен, вам не нужно будет делать «set-Cookie»: «some = data; Expires = Wed, 09 Jun 2021 10:18:14 GMT» и т. Д. Вместо передачи в объект и вы уверены, что 'req.headers.cookie' заселяется без промежуточного программного обеспечения cookieparser. Мое мнение таково, что вы изобретаете колесо и должны использовать доступное промежуточное ПО. – adeneo
http://stackoverflow.com/questions/3393854/get-and-set-a-single-cookie-with-node-js-http-server – Daemedeor