Python3でurllibを使った時にConnection refusedを例外として拾う方法

Share on Facebook
Pocket
LINEで送る
Bookmark this on Google Bookmarks

少しハマったので。

ハマった経緯

urllibでリンク先を取得しようとしたところ、以下のコードだとConnection refusedが拾えなかった。

from urllib.error import HTTPError
import urllib.request

url = "http://hogehogengongo.com"
try:
    result = urllib.request.urlopen(url)
except HTTPError as e:
    print("ERROR")

ipythonで実行結果を見たところ、Connection Refusedは OSErrorで拾う必要があった。

from urllib.error import HTTPError
import urllib.request
import os 

url = "http://hogehogengongo.com"
try:
    result = urllib.request.urlopen(url)
except (OSError, HTTPError) as e:
    print("ERROR")

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です