2012-11-09 1 views
7

Я использую библиотеку OpenURI.Ruby Open-URI библиотека прервана в 404 код ошибки HTTP

object = open("http://example.com") 

Если http://example.com ответ код сервера равен 200 моя программа действует, как я ожидал. Но если http://example.com код ответа сервера равен 400 (или другому), тогда скрипт прерывается с OpenURI :: HTTPError: 404 Not Found.
Я могу избежать этого, если я использую конструкцию «начать-спасать» и обрабатываю «исключение HTTPError».
Правильно ли это? Должен ли я использовать библиотеку Net/Http вместо OpenURI для обработки всех случаев?

ответ

6

Спасение OpenURI::HTTPError вполне разумно. Смотрите этот ответ, связанный: https://stackoverflow.com/a/7495389/289274

Но если вы предпочли бы не иметь дело с обработкой исключений, вот как вы можете сделать это с Net::HTTP: https://stackoverflow.com/a/2797443/289274

+0

К сожалению, это также выглядит как 'OpenURI :: HTTPError' не включает любой контент, который мог быть возвращен из запроса (например, объяснение с сервера, за кодом состояния). – maurice

 Смежные вопросы

  • Нет связанных вопросов^_^