如何使用JavaScript打印5000个随机URL

时间:2017-07-04 01:34:19

标签: javascript node.js

网站http://www.uroulette.com/visit/owtqt重定向到随机网址。我想将5000个随机URL打印到文档中。

我该怎么做? (我只知道基本的JavaScript,所以我甚至不知道从这个任务开始......)。

uroulette网址似乎每小时更改一次(基本上,网址只是点击http://www.uroulette.com/上的轮盘图片时的链接。)

1 个答案:

答案 0 :(得分:1)

要获取随机网址,您可以继续向http://www.uroulette.com/visit/owtqt发送GET请求,并检查预期的302响应状态代码。如果响应状态代码为302,则location响应标头包含随机网址。

以下是在Node.js中收集10个随机网址的示例:

var http = require('http');

var urls = [];

var visitNum = 10;
function visitUroulette() {
  if (visitNum === 0) {
    console.log(urls);
    return;
  }

  visitNum--;

  console.log('Sending request...');
  http.get({
    hostname: 'www.uroulette.com',
    port: 80,
    path: '/visit/owtqt'
  }, function(res) {
    if (res.statusCode === 302) {
      urls.push(res.headers.location);
    }
    visitUroulette();
  });
}

visitUroulette();

请注意uroulette.com有一些保护网站免受数据报废的政策。在我的本地测试中,如果上面代码中的visitNum超过86,uroulette.com会重置HTTP连接。要获得5000个随机URL,您需要在不同的机器上执行该程序,不同时间。