Перенаправление узла на случайную ссылку одного массива - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть один сценарий в узле, и я хочу автоматически перенаправлять ссылки случайным образом, которые у меня есть в одном массиве, страница белая и не перенаправляет, когда я помещаю функцию maths.random

Вот мой код:

const http = require('http');

let randURLs = [
    "aaaaa",
    "xxxxx",
    "bbbbb"
];
const server = http.createServer(function(req, res) {
    if (req.method === 'POST') {
       console.log('post method')
    }
    else {
        let randNumber = Math.floor(Math.random()*randURLs.length);
        res.writeHead(301,{Location: 'https://www.test.com/' + 
randURLs[randNumber]});
     }
    res.end();
});

server.listen(4000);
console.log("localhost:1337 ...");

Я хочу перенаправить на https://www.test.com/randomValueInMyArray

Спасибо, Benjamin

1 Ответ

0 голосов
/ 11 апреля 2019

Я проверил ваш код, и у меня он отлично работает.

две вещи для рассмотрения: вы делаете

server.listen(4000);

но выводит на консоль "localhost: 1337". Немного смущает; -)

Другое дело, что вы отправляете http статус 301 Moved Permanently . Это приводит к тому, что ваш браузер всегда перенаправляет вас на результат первого запроса (т.е. первого случайного значения). Потому что вы сказали «навсегда», и ваш браузер не ожидает другого значения, если оно постоянное.

...