节点重定向到一个阵列的随机链接

时间:2019-04-11 13:39:19

标签: node.js random req

我在节点中有一个脚本,我想自动重定向到我在一个数组中拥有的随机链接,页面为白色并且当我放置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

谢谢, 本杰明

1 个答案:

答案 0 :(得分:0)

我测试了您的代码,对我来说,它工作得很好。

要考虑的两件事:您要做一个

server.listen(4000);

但在控制台上打印“ localhost:1337”。有点令人困惑;-)

另一件事是,您发送的http状态为 301永久移动。这导致您的浏览器始终将您重定向到第一个请求的结果(即第一个随机值)。因为您说的是“永久”,并且您的浏览器不希望另一个值是永久性的。