urllib.error --- کلاس‌های استثنا که توسط urllib.request پرتاب می‌شوند

کد منبع: Lib/urllib/error.py


ماژول urllib.error کلاس‌های استثنا را برای استثناهایی که توسط urllib.request پرتاب می‌شوند، تعریف می‌کند. کلاس استثنای پایه URLError است.

استثناهای زیر در صورت لزوم توسط urllib.error پرتاب می‌شوند:

exception urllib.error.URLError

هندلرها این استثنا (یا استثناهای مشتق‌شده) را هنگامی که با مشکلی مواجه می‌شوند، پرتاب می‌کنند. این یک زیرکلاس از OSError است.

reason

دلیل این خطا. این می‌تواند یک رشته پیام یا یک نمونه استثنای دیگر باشد.

تغییر یافته در نسخه‌ی 3.3: URLError پیش‌تر زیرنوعی از IOError بود، که اکنون نام مستعاری از OSError است.

exception urllib.error.HTTPError(url, code, msg, hdrs, fp)

با وجود اینکه یک استثنا (زیرکلاسی از URLError) است، HTTPError همچنین می‌تواند به‌عنوان یک مقدار بازگشتی غیراستثنایی شبیه پرونده عمل کند (همان چیزی که urlopen() برمی‌گرداند). این امر هنگام مدیریت خطاهای HTTP غیرمعمول، مانند درخواست‌های احراز هویت، مفید است.

url

شامل URL درخواست است. نام مستعاری برای ویژگی filename است.

code

کد وضعیت HTTP تعریف‌شده در RFC 2616. این مقدار عددی با مقداری در دیکشنری کدها که در http.server.BaseHTTPRequestHandler.responses یافت می‌شود، متناظر است.

reason

این معمولاً یک رشته است که دلیل این خطا را توضیح می‌دهد. نام مستعاری برای ویژگی msg است.

headers

سرآیندهای پاسخ HTTP برای درخواست HTTP که باعث HTTPError شد. نام مستعاری برای ویژگی hdrs.

اضافه شده در نسخه‌ی 3.4.

fp

یک شیء شبه‌پرونده که می‌توان بدنه خطای HTTP را از آن خواند.

exception urllib.error.ContentTooShortError(msg, content)

این استثنا زمانی پرتاب می‌شود که تابع urlretrieve() تشخیص دهد که مقدار داده‌های بارگیری‌شده کمتر از مقدار مورد انتظار (داده‌شده توسط سرآیند Content-Length) است.

content

داده‌ی بارگیری‌شده (و ظاهراً بریده‌شده).