الدالة urllib.parse.urljoin()
في بايثون
تبني الدالة عنوان 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.
انظر أيضًا
- الدالة
urllib.parse.urlsplit()
: هذه الدالة مشابهة للدالةurlparse()
ولكنّها لا تقسم المعاملات من عنوان URL. - الدالة
urllib.parse.urlunsplit()
: تدمج الدالة عناصر الصفّ الذي يشبه ما تعيده الدالةurlsplit()
في عنوان URL كامل على هيئة سلسلة نصية.