Мне нужно проверить достоверность 4000+ URL-адресов, которые я получаю из веб-службы, прежде чем добавлять их в файл javascript. Я использую задачу grunt, чтобы выполнить некоторую операцию очистки на этих URL-адресах, и я также хотел бы проверить, что каждый url возвращает 200 HTTP-код состояния, прежде чем добавлять их в файл js, поэтому в рамках задачи grunt.Проверка ответа HTTP от задачи grunt
В примере, на основании результата valiate_url задачи мне нужно изменить массив urlToProxy
Для ясности всю задачу я хочу построить это:
- прочитанной URLs из API и запись в файл
- Cleanup список адресов (другой задачи, а не в коде примера)
- Validate URLs, чтобы проверить, если сервер ответит 200
- Напишите URL-адрес файла, содержащего простой массив js
Любая идея/предложение о том, как я могу это сделать?
grunt.initConfig({
...
exec: {
validate_url: {
cmd: function(url){
return 'curl -sL -w "%{http_code}\\n" "http://' + url + '" -o /dev/null';
},
callback: function (error, stdout, stderr) {
if(stdout==200){
// YES 200 returned
} else {
// OOPS NO 200 returned
}
}
}
}
});
grunt.registerTask('readconfig', 'reads the configuration', function() {
var urls = grunt.file.readJSON('.tmp/proxyUrls.json');
var urlsToProxy = urls.record.split('\n');
for(var i = urlsToProxy.length - 1; i >= 0; i--) {
grunt.task.run('exec:validate_url:' + 'urlsToProxy[i]);
}
}
proxyUrl.js содержание
{ "record": "audentes.com\nfortuna.com\niuvat.com\n...\nwww.google.com" }
ли мой ответ полезным? –
Да, это уже хорошее направление, мне нужно теперь изменить входной массив на основе validate_url, что сложнее – fram
вы там? –