الوحدة urllib.error
في بايثون
تعرّف الوحدة urllib.error
الأصناف الخاصة بالاستثناءات التي تُطلقها الوحدة urllib.request
.
الصنف الأساسي في هذه الوحدة هو URLError
.
تطلق الوحدة urllib.error
الاستثناءات التالية:
الاستثناء urllib.error.URLError
تُطلق أصناف المعالجة هذا الاستثناء (أو الاستثناءات المشتقة منه) عند وقوعها في مشكلة معيّنة. هذا الاستثناء هو صنف متفرّع من الاستثناء OSError
.
reason
سبب حدوث هذا الخطأ. يمكن أن تكون رسالة على هيئة سلسلة نصية أو نسخة من استثناء آخر.
ملاحظة: أصبح URLError
صنفًا متفرّعًا من الصنف OSError
عوضًا عن IOError
في الإصدار 3.3 من بايثون.
الاستثناء urllib.error.HTTPError
على الرغم من كون HTTPError
استثناءً (متفرّعًا من الصنف URLError
) إلا أنّ بالإمكان استخدامه كقيمة معادة شبيهة بالملفات (كتلك المعادة بواسطة الدالة urlopen()
). يمكن الاستفادة من هذا السلوك عند معالجة أخطاء HTTP الخارجية exotic مثل طلبات الاستيثاق.
code
شيفرة حالة HTTP حسب ما هو معرّف في المعيار RFC 2616. ترتبط هذه القيمة العددية بالقيمة الموجودة في قاموس الشيفرات وكما هو موجود في http.server.BaseHTTPRequestHandler.responses
.
reason
عادة ما تكون سلسلة نصية توضّح سبب حدوث هذا الخطأ.
headers
ترويسات استجابة HTTP للطلب الذي تسبب في حدوث الخطأ HTTPError
.
ملاحظة: هذا الاستثناء جديد في الإصدار 3.4 من بايثون.
الاستثناء urllib.error.ContentTooShortError(msg, content)
يُطلق هذا الاستثناء عندما تكتشف الدالة urlretrieve()
أن كمية البيانات المحمّلة أقل من الكمية المتوقعة (المعطاة بواسطة الترويسة Content-Length
). تخزّن الخاصية content
البيانات المحمّلة (والتي يفترض أن تكون مقطوعة truncated).
انظر أيضًا
الوحدة urllib.request
: تقدّم وحدة urllib.request
عددًا من الدوال والأصناف التي تساعد في فتح عناوين URL (HTTP في الغالب) لاستخدامها في عمليات مختلفة مثل الاستيثاق البسيط وإعادة التوجيه والتعامل مع الكعكات cookies وغيرها.