الوحدة urllib.error‎‎ في بايثون

من موسوعة حسوب
< Python‏ | urllib
اذهب إلى التنقل اذهب إلى البحث


تعرّف الوحدة 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 وغيرها.

مصادر