تقنية

دمج الروابط في بايثون: الشرطة الأخيرة تغير الوجهة

شرطة الأساس تغير المسار
المضيف نفسه؛ المرجع diagram.png. [1] [2]

يفسر urljoin() المرجع نسبةً إلى عنوان الأساس. [1] [2]

الخلاصة السريعة

الشرطة الأخيرة في الأساس تغير دمج مسار نسبي. [1] [2]

  • دون / نهائية، يستبدل diagram.png المقطع الأخير lesson. [1] [2]
  • مع / نهائية، يبقى lesson/ قبل diagram.png. [1] [2]
  • المرجع /diagram.png يبدأ من جذر المضيف في الحالتين. [1] [2]
  • عنوان كامل بمرجع مختلف يمكنه تغيير المضيف. [1] [2]
  • الأمثلة نصية محلية؛ لا تثبت وجود صفحة أو ملف. [1] [2]

جرّب الأساسين

from urllib.parse import urljoin
base = "https://example.org/course/lesson"
print(urljoin(base, "diagram.png"))
print(urljoin(base+"/", "diagram.png"))

[1] [2]

الأول https://example.org/course/diagram.png؛ الثاني https://example.org/course/lesson/diagram.png. [1] [2]

نحتفظ بمسار الأساس حتى آخر /، ثم نضيف المرجع؛ ليست العملية لصق النصين كاملين. [1] [2]

ميّز الشرطة الأولى

إذا بدأ المرجع بـ/diagram.png، فالنتيجة https://example.org/diagram.png للأساسين. الشرطة هنا في أول المرجع، لا آخر الأساس. [1] [2]

شرطة المرجع تبدأ من الجذر
المرجع /diagram.png يتجاوز مسار الأساس. [1] [2]

افحص مرجعًا كاملًا

المرجع https://other.example/diagram.png يعطي نفسه مع الأساسين؛ لا تضمن الدالة بقاء المضيف. [1] [2]

حد المثال

نعالج نصوص HTTPS معلنة؛ لا نجري طلبًا، ولا نختبر تحويلات خادم أو وجود ملف. [1] [2]

المراجع

  1. Python: urllib.parse.urljoin
  2. RFC 3986: حل المراجع ودمج المسارات
  3. موضوع تك: الإنترنت والويب — مفردات
  4. موضوع تك: البوابة والموقع — مفردات

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.