· 1 min read
Script-Tip: URL auf Existenz prüfen
Eine Beispielimplementierung könnte folgendermaßen aussehen: [ruby] require ‘open-uri’ require ‘net/http’
def existiert_url?(url) url = URI.parse(url) begin Net::HTTP.start(url.host, url.port) do |http| # An dieser Stelle kann bei Bedarf auch auf # andere Response-Codes geprüft werden return http.head(url.request_uri).code == “200” end rescue SocketError => se # Fehlerbehandlung, wenn die Domain nicht existiert # Je nach Applikation kann hier die entsprechende Aktion durchgeführt werden rescue # Alle anderen Fehlerfälle werden/können hier behandelt werden end end [/ruby]
Danach kann die Existenz einer URL geprüft werden:
[ruby] existiert_url? “http://www.rubyonrails.de/” # => true: Die Startseite existiert existiert_url? “http://www.rubyonrails.de/tag/rails-3/” # => true: Es gibt eine Unterseite mit Artikeln/Tags zu Rails 3 existiert_url? “http://www.rubyonrails.de/GIBT-ES-NICHT” # => false: Diese Unterseite existiert nicht [/ruby]