الفرق بين المراجعتين لصفحة: «Python/urllib/parse/urljoin»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>urllib.parse.urljoin()</code> في بايثون}}</noinclude> تبني الدالة عنوان URL كاملًا (مط...' |
لا ملخص تعديل |
||
سطر 30: | سطر 30: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
ملاحظة: | '''ملاحظة:''' | ||
إن كان عنوان URL المعطى مطلقًا (أي يبدأ بالرمز // أو scheme://) فإنّ اسم المضيف الخاص بهذا العنوان و/أو المخطط سيكونان موجودين في النتيجة المعادة من الدالة، فعلى سبيل المثال: | إن كان عنوان URL المعطى مطلقًا (أي يبدأ بالرمز <code>//</code> أو <code>scheme://</code>) فإنّ اسم المضيف الخاص بهذا العنوان و/أو المخطط سيكونان موجودين في النتيجة المعادة من الدالة، فعلى سبيل المثال: | ||
<syntaxhighlight lang="python3"> | <syntaxhighlight lang="python3"> | ||
سطر 40: | سطر 40: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
إن كنت ترغب في أن تعمل الدالة بهذه الطريقة، فيمكنك معالجة العنوان المعطى باستخدام الدالتين urlsplit() و urlunsplit() حيث يُحذف جزءا المخطط scheme وموقع الشبكة netloc من العنوان. | إن كنت ترغب في أن تعمل الدالة بهذه الطريقة، فيمكنك معالجة العنوان المعطى باستخدام الدالتين <code>[[Python/urllib/parse/urlsplit|urlsplit()]]</code> و <code>[[Python/urllib/parse/urlunsplit|urlunsplit()]]</code> حيث يُحذف جزءا المخطط <code>scheme</code> وموقع الشبكة <code>netloc</code> من العنوان. | ||
'''ملاحظة:''' عدّلت طريقة عمل الدالة في الإصدار 3.5 من بايثون لتطابق ما يرد في المعيار RFC 3986. | |||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة <code>[[Python/urllib/parse/urlsplit|urllib.parse.urlsplit()]]</code>: هذه الدالة مشابهة للدالة <code>[[Python/urllib/parse/urlparse|urlparse()]]</code> ولكنّها لا تقسم المعاملات من عنوان URL. | * الدالة <code>[[Python/urllib/parse/urlsplit|urllib.parse.urlsplit()]]</code>: هذه الدالة مشابهة للدالة <code>[[Python/urllib/parse/urlparse|urlparse()]]</code> ولكنّها لا تقسم المعاملات من عنوان URL. | ||
* الدالة <code>[[Python/urllib/parse/ | * الدالة <code>[[Python/urllib/parse/urlunsplit|urllib.parse.urlunsplit()]]</code>: تدمج الدالة عناصر الصفّ الذي يشبه ما تعيده الدالة <code>[[Python/urllib/parse/urlsplit|urlsplit()]]</code> في عنوان URL كامل على هيئة [[Python/str|سلسلة نصية]]. | ||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 19:39، 5 فبراير 2019
تبني الدالة عنوان 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 كامل على هيئة سلسلة نصية.