Mal ebend schnell den Response-Status von einer Rutsche URLs checken? Geht einfach mit diesem kurzen Rubyscript unter Verwendung der Gems Restclient und FasterCSV. Das Script wird mit einer CSV gefüttert und erwartet in der zweiten Spalte die URL, die erste Spalte kann mit einer ID oder ähnlichem befüllt werden.
Die Rückgabe kann direkt in eine CSV gepipet werden, am Ende wird ein kurzer Bericht angefügt.
[UPDATE] Hier das ganze auch auf Github: https://github.com/petschbot/onlinechecker [/UPDATE]
#!/usr/bin/ruby -w
# Fast URL response checker
# Author: PS
# Date: 2010/10/05
require 'rubygems'
require 'rest-client'
require 'fastercsv'
# CSV File as first command line argument
# Must be look like this:
# id;url
# 01;http://www.example.com
csv_file = ARGV[0]
linenumber = 0
ok_counter = 0
error_counter = 0
FasterCSV.foreach(csv_file, :quote_char => '"', :col_sep =>';', :row_sep =>:auto) do |row|
unless linenumber == 0 then
begin
response = RestClient.get row[1]
puts "OK;#{row[0]};#{row[1]}"
ok_counter = ok_counter + 1
rescue => error
puts "Error;#{row[0]};#{row[1]}"
error_counter = error_counter + 1
end
else
puts "status;#{row[0]};#{row[1]}"
end
linenumber = linenumber + 1
end
puts "------"
puts "Report"
puts "OK: #{ok_counter}"
puts "Error: #{error_counter}"
Keine Kommentare:
Kommentar veröffentlichen