Ruby Open-URI de la bibliothèque abandonnée au code d'erreur HTTP 404
- Je utiliser OpenURI de la bibliothèque.
object = open("http://example.com")
Si http://example.com serveur de code de réponse est égal à 200 mon programme agit comme je m'y attendais.
Mais si http://example.com code de réponse du serveur est égal à 400 (ou autre) puis de script s'interrompt avec OpenURI::HTTPError: 404 not Found.
Je peux éviter cette situation, si j'utilise "commencer le sauvetage de construction et de gestion "de HTTPError exception".
Est-ce une façon correcte?
Dois-je utiliser Net/Http bibliothèque au lieu de OpenURI pour gérer tous les cas?
OriginalL'auteur Sergey Blohin | 2012-11-09
Vous devez vous connecter pour publier un commentaire.
Le sauvetage de la
OpenURI::HTTPError
est parfaitement raisonnable. Voir cette réponse: https://stackoverflow.com/a/7495389/289274Mais si vous préférez ne pas traiter avec la gestion des exceptions, voici comment vous pouvez le faire avec
Net::HTTP
:https://stackoverflow.com/a/2797443/289274
OpenURI::HTTPError
ne comprend pas tout contenu qui pourrait avoir été renvoyé de la demande (comme une explication à partir du serveur, au-delà d'un code d'état).OriginalL'auteur Gregory Brown