Wenn eine Website den Fehler '503-Service nicht verfügbar' zurückgibt, löst open-uri eine Ausnahme aus. Zum Beispiel:Wie kann ich 503 Fehler mit Open-Uri umgehen?
require 'open-uri'
open('http://www.google.co.uk/sorry/?continue=http://www.google.co.uk/search%3Fq%3Dhello%26oq%3Dhello%26ie%3DUTF-8')
# OpenURI::HTTPError: 503 Service Unavailable
# ...
Allerdings, wenn Sie es dann in einem Webbrowser besuchen, zeigt es tatsächlich eine Seite mit einem CAPTCHA und keinem Fehler.
Wie kann ich sicherstellen, dass Open-Uri nicht nur eine Ausnahme auslöst, sondern tatsächlich die Antwort verarbeitet und mir den Seiteninhalt liefert?
Thank you! Ich habe Ihre Antwort auf die Frage gelesen, bevor Sie sie bearbeitet haben. Ich habe über Ausnahmen gelesen und sie sollten nicht für allgemeine Bedingungen verwendet werden. Wäre es also besser, net/http statt open-uri zu verwenden, weil es bedeutet, dass ich keins verwenden muss? –