Skip to content

Instantly share code, notes, and snippets.

@avin
Created November 19, 2015 11:44
Show Gist options
  • Select an option

  • Save avin/07fa8b7414d5d693fab9 to your computer and use it in GitHub Desktop.

Select an option

Save avin/07fa8b7414d5d693fab9 to your computer and use it in GitHub Desktop.
Check url list
'use strict';
var async = require('async');
var request = require('request');
var fs = require('fs');
var ProgressBar = require('progress');
//Читаем урлы из файла (урл лист вида: номер, ip, урл)
let urls = [];
var array = fs.readFileSync('./urls.txt').toString().split("\r\n");
array.forEach((line) => {
var lineParts = line.split(", ");
if (lineParts[2]){
if (lineParts[2].indexOf("525://") === -1){
urls.push(lineParts[2].trim());
}
}
});
var bar = new ProgressBar(':bar', { total: urls.length });
let successUrls = [];
async.mapLimit(urls, 500, (url, callback) => {
async.setImmediate(() => {
request.get({ method: 'GET', uri: url, gzip: false, timeout: 1500}, (error, response) => {
bar.tick();
if (bar.complete) {
console.log('\ncomplete\n');
console.log(successUrls);
}
if (!error && response.statusCode === 200) {
successUrls.push(url);
}
callback();
});
});
}, (err) => {
console.log(err);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment