الفرق بين المراجعتين ل"Python/urllib/parse/urljoin"

من موسوعة حسوب
< Python‏ | urllib‏ | parse
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<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.
 
 
 
  
 +
'''ملاحظة:''' عدّلت طريقة عمل الدالة في الإصدار 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/urlparse|urllib.parse.urlparse()]]</code>: تحلّل الدالة عنوان URL إلى ستّة مكونات تمثّل البنية الرئيسية لعنوان URL.
+
* الدالة <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.

انظر أيضًا

مصادر