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

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

少しハマったので。

[amazonjs asin=”484438015X” locale=”JP” title=”基礎 Python (IMPRESS KISO SERIES)”]

ハマった経緯

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

[python] from urllib.error import HTTPError
import urllib.request

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

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

[python] from urllib.error import HTTPError
import urllib.request
import os

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

Related posts

コメントを残す