Wie kann ich damit umgehen 503-Fehler mit open-uri?
Wenn eine website gibt einen "503 service unavailable" - Fehler dann open-uri löst eine Ausnahme aus. Zum Beispiel:
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
# ...
Aber wenn Sie dann Besuch Sie in einem web-browser, es zeigt tatsächlich eine Seite mit einem CAPTCHA und kein Fehler.
Wie kann ich sicherstellen, dass open-uri nicht nur werfen diese als eine Ausnahme, sondern tatsächlich verarbeitet die Antwort und gibt mir den Inhalt der Seite?
Du musst angemeldet sein, um einen Kommentar abzugeben.
OpenURI::HTTPError
haben eineio
- Attribut können Sie überprüfen, um zu bekommen, was Sie wollen.io
ist einStringIO
Objekt mit mehreren singleton-Methoden definiert (status
zum Beispiel):Jedoch für diese Aufgabe der
Net::HTTP
Modul ist wahrscheinlich eine bessere alternative: