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