الفرق بين المراجعتين لصفحة: «Python/urllib/parse/urlsplit»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>urllib.parse.urlsplit()</code> في بايثون}}</noinclude> هذه الدالة مشابهة للدالة urlparse...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>urllib.parse.urlsplit()</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الدالة <code>urllib.parse.urlsplit()</code> في بايثون}}</noinclude> | ||
هذه الدالة مشابهة للدالة urlparse() ولكنّها لا تقسم المعاملات من عنوان URL. يجب استخدام هذه الدالة بصورة عامة عوضًا عن الدالة urlparse() إن كان المطلوب استخدام صيغة URL حديثة تتضمّن السماح بتطبيق المعاملات لكل جزء من أجزاء المسار في عنوان URL (راجع المعيار RFC 2396). يجب استخدام دالة أخرى لفصل أقسام المسار ومعاملاته. تعيد هذه الدالة صفًّا مؤلّفًا من 5 عناصر (نظام العنونة addressing scheme، موقع الشبكة، المسار، الاستعلام، محدّد القطعة fragment identifier). | هذه الدالة مشابهة للدالة <code>urlparse()</code> ولكنّها لا تقسم المعاملات من عنوان URL. يجب استخدام هذه الدالة بصورة عامة عوضًا عن الدالة <code>urlparse()</code> إن كان المطلوب استخدام صيغة URL حديثة تتضمّن السماح بتطبيق المعاملات لكل جزء من أجزاء المسار في عنوان URL (راجع المعيار RFC 2396). يجب استخدام دالة أخرى لفصل أقسام المسار ومعاملاته. تعيد هذه الدالة [[Python/tuples|صفًّا]] مؤلّفًا من 5 عناصر (نظام العنونة addressing scheme، موقع الشبكة، المسار، الاستعلام، محدّد القطعة fragment identifier). | ||
== البنية العامة == | == البنية العامة == | ||
سطر 23: | سطر 23: | ||
تكون القيمة المعادة نسخة متفرّعة من الصفّ. ويمتلك هذا الصنف خصائص إضافية مساعدة تمتاز بكونها للقراءة فقط: | تكون القيمة المعادة نسخة متفرّعة من الصفّ. ويمتلك هذا الصنف خصائص إضافية مساعدة تمتاز بكونها للقراءة فقط: | ||
{| class="wikitable" | |||
!الخاصية | |||
!الفهرس | |||
!القيمة | |||
!قيمة الخاصية إن لم تكن موجودة | |||
|- | |||
|<code>scheme</code> | |||
|0 | |||
|مخطّط URL | |||
|قيمة المعامل <code>scheme</code> | |||
|- | |||
|<code>netloc</code> | |||
|1 | |||
|الجزء الخاص بموقع الشبكة Network location | |||
|[[Python/str|سلسلة نصية]] فارغة | |||
|- | |||
|<code>path</code> | |||
|2 | |||
|مسار هرمي Hierarchical path | |||
|[[Python/str|سلسلة نصية]] فارغة | |||
|- | |||
|<code>query</code> | |||
|3 | |||
|مكونة سلسلة الاستعلام النصية Query Component | |||
|[[Python/str|سلسلة نصية]] فارغة | |||
|- | |||
|<code>fragment</code> | |||
|4 | |||
|محدّد القطعة Fragment Identifier | |||
|[[Python/str|سلسلة نصية]] فارغة | |||
|- | |||
|<code>username</code> | |||
| | |||
|اسم المستخدم | |||
|<code>[[Python/constants#None|None]]</code> | |||
|- | |||
|<code>password</code> | |||
| | |||
|كلمة المرور | |||
|<code>[[Python/constants#None|None]]</code> | |||
|- | |||
|<code>hostname</code> | |||
| | |||
|اسم المضيف (حروف صغيرة) | |||
|<code>[[Python/constants#None|None]]</code> | |||
|- | |||
|<code>port</code> | |||
| | |||
|رقم المنفذ كعدد صحيح، إن كان متوفرًا | |||
|<code>[[Python/constants#None|None]]</code> | |||
|} | |||
تؤدي قراءة خاصية <code>port</code> إلى إطلاق الاستثناء <code>ValueError</code> إن عُيِّن منفذ غير صالح في عنوان URL. راجع قسم [[Python/urllib/parse#.D9.86.D8.AA.D8.A7.D8.A6.D8.AC .D8.A7.D9.84.D8.AA.D8.AD.D9.84.D9.8A.D9.84 .D8.A7.D9.84.D9.85.D9.86.D8.B8.D9.91.D9.85.D8.A9|(نتائج تحليل منظّمة)]] للاطلاع على المزيد من المعلومات حول الكائن المعاد. | |||
تُطلق الأقواس المربّعة غير المتطابقة في خاصية <code>netloc</code> الاستثناء <code>ValueError</code>. | |||
تُطلق الأقواس المربّعة غير المتطابقة في خاصية netloc الاستثناء ValueError. | |||
'''ملاحظة''': تطلق أعداد المنفذ التي تكون خارجة عن النطاق الاستثناء <code>ValueError</code> في الإصدار 3.6 من بايثون، وذلك عوضًا عن إعادة القيمة <code>None</code>. | |||
== أمثلة == | == أمثلة == | ||
مراجعة 19:21، 5 فبراير 2019
هذه الدالة مشابهة للدالة urlparse()
ولكنّها لا تقسم المعاملات من عنوان URL. يجب استخدام هذه الدالة بصورة عامة عوضًا عن الدالة urlparse()
إن كان المطلوب استخدام صيغة URL حديثة تتضمّن السماح بتطبيق المعاملات لكل جزء من أجزاء المسار في عنوان URL (راجع المعيار RFC 2396). يجب استخدام دالة أخرى لفصل أقسام المسار ومعاملاته. تعيد هذه الدالة صفًّا مؤلّفًا من 5 عناصر (نظام العنونة addressing scheme، موقع الشبكة، المسار، الاستعلام، محدّد القطعة fragment identifier).
البنية العامة
urllib.parse.urlsplit(urlstring, scheme='', allow_fragments=True)
المعاملات
urlstring
سلسلة نصية تتضمن عنوان URL المراد تحليله.
scheme
يعطي المعامل scheme القيمة الافتراضية لنظام العنونة adressing scheme والذي يُستخدم في حال لم يحدّد عنوان URL قيمة لهذه المكون. يجب أن يكون نوع القيمة مشابهًا لقيمة المعامل urlstring
(نص أو بايتات) باستثناء أنّه يُسمح باستخدام القيمة الافتراضية دائمًا وتحوّل إلى القيمة b
إن كان ذلك مناسبًا.
allow_fragments
إن أخذ هذا المعامل قيمة خاطئة، فلن تتعرّف الدالة حينئذٍ على محدّدات القطع fragment identifiers، وتحلّل كجزء من مكونات المسار أو المعاملات أو الاستعلام، وتعين سلسلة نصية فارغة كقيمة للقطع في القيمة التي تعيدها الدالة.
القيمة المعادة
تكون القيمة المعادة نسخة متفرّعة من الصفّ. ويمتلك هذا الصنف خصائص إضافية مساعدة تمتاز بكونها للقراءة فقط:
الخاصية | الفهرس | القيمة | قيمة الخاصية إن لم تكن موجودة |
---|---|---|---|
scheme
|
0 | مخطّط URL | قيمة المعامل scheme
|
netloc
|
1 | الجزء الخاص بموقع الشبكة Network location | سلسلة نصية فارغة |
path
|
2 | مسار هرمي Hierarchical path | سلسلة نصية فارغة |
query
|
3 | مكونة سلسلة الاستعلام النصية Query Component | سلسلة نصية فارغة |
fragment
|
4 | محدّد القطعة Fragment Identifier | سلسلة نصية فارغة |
username
|
اسم المستخدم | None
| |
password
|
كلمة المرور | None
| |
hostname
|
اسم المضيف (حروف صغيرة) | None
| |
port
|
رقم المنفذ كعدد صحيح، إن كان متوفرًا | None
|
تؤدي قراءة خاصية port
إلى إطلاق الاستثناء ValueError
إن عُيِّن منفذ غير صالح في عنوان URL. راجع قسم (نتائج تحليل منظّمة) للاطلاع على المزيد من المعلومات حول الكائن المعاد.
تُطلق الأقواس المربّعة غير المتطابقة في خاصية netloc
الاستثناء ValueError
.
ملاحظة: تطلق أعداد المنفذ التي تكون خارجة عن النطاق الاستثناء ValueError
في الإصدار 3.6 من بايثون، وذلك عوضًا عن إعادة القيمة None
.
أمثلة
يبين المثال التالي طريقة عمل الدالة:
>>> from urllib.parse import urlsplit
>>> url = 'http://www.example.com/test1?page=2&id=3#sub'
>>> parsed = urlsplit(url)
>>> print(parsed)
SplitResult(scheme='http', netloc='www.example.com', path='/test1', query='page=2&id=3', fragment='sub')
>>> parsed.scheme
'http'
>>> parsed.netloc
'www.example.com'
>>> parsed.path
'/test1'
>>> parsed.query
'page=2&id=3'
>>> parsed.fragment
'sub'
انظر أيضًا
- الدالة
urllib.parse.urlparse()
: تحلّل الدالة عنوان URL إلى ستّة مكونات تمثّل البنية الرئيسية لعنوان URL.