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

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


تبني الدالة عنوان 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.

انظر أيضًا

مصادر