الدالة urllib.parse.urljoin()‎‎ في بايثون

من موسوعة حسوب
< Python‏ | urllib‏ | parse
مراجعة 19:39، 5 فبراير 2019 بواسطة Mohammed Taher (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


تبني الدالة عنوان URL كاملًا (مطلقًا) عن طريق دمج عنوان URL الأساسي base URL المعطى، مع عنوان URL آخر.

البنية العامة

urllib.parse.urljoin(base, url, allow_fragments=True)

‎المعاملات

base

عنوان URL الأساسي.

url

عنوان URL المراد دمجه بالعنوان الأساسي.

allow_fragments

إن أخذ هذا المعامل قيمة خاطئة، فلن تتعرّف الدالة حينئذٍ على محدّدات القطع fragment identifiers، وتحلّل كجزء من مكونات المسار أو المعاملات أو الاستعلام، وتعين سلسلة نصية فارغة كقيمة للقطع في القيمة التي تعيدها الدالة.

أمثلة

يبين المثال التالي طريقة عمل الدالة:

>>> from urllib.parse import urljoin
>>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html')
'http://www.cwi.nl/%7Eguido/FAQ.html'

ملاحظة:

إن كان عنوان URL المعطى مطلقًا (أي يبدأ بالرمز // أو scheme://‎) فإنّ اسم المضيف الخاص بهذا العنوان و/أو المخطط سيكونان موجودين في النتيجة المعادة من الدالة، فعلى سبيل المثال:

>>> urljoin('http://www.cwi.nl/%7Eguido/Python.html',
...         '//www.python.org/%7Eguido')
'http://www.python.org/%7Eguido'

إن كنت ترغب في أن تعمل الدالة بهذه الطريقة، فيمكنك معالجة العنوان المعطى باستخدام الدالتين urlsplit()‎ و urlunsplit()‎ حيث يُحذف جزءا المخطط scheme وموقع الشبكة netloc من العنوان.

ملاحظة: عدّلت طريقة عمل الدالة في الإصدار 3.5 من بايثون لتطابق ما يرد في المعيار RFC 3986.

انظر أيضًا

مصادر