URLها و رشته‌های پرس‌و‌جو

URLها و رشته‌های پرس‌و‌جو

آدرس‌های URL و رشته‌های پرس‌وجو

لایه URL تجزیه‌سازی به سبک WHATWG را پیاده‌سازی می‌کند — همان رفتاری که مرورگرها به کار می‌برند — بنابراین URLهای استخراج‌شده از اسناد، همان‌گونه که در یک عامل کاربری واقعی حل و نرمال‌سازی می‌شوند، رفتار می‌کنند.


تجزیه و اعتبارسنجی

URL.parse() یک URL مطلق یا نسبی را تجزیه می‌کند؛ URL.can_parse() بدون ساختن شیء، اعتبار را پاسخ می‌دهد. شکست‌های تجزیه، URLParseError تایپ‌شده را پرتاب می‌کند.

رشته‌های پرس‌وجو

URLSearchParams پارامترهای پرس‌وجو را می‌خواند و ویرایش می‌کند: append()، get()، get_all()، has() و delete() مسیر گردش را پوشش می‌دهند و معنای چند-مقداری را حفظ می‌کنند.


نکات و بهترین روش‌ها

  • از can_parse() برای اعتبارسنجی ارزان در فیلترها استفاده کنید؛ فقط زمانی که به مؤلفه‌ها نیاز دارید با parse() ساختاردهی کنید
  • به یاد داشته باشید کلیدهای پرس و جو تکرار می‌شوند — وقتی یک پارامتر ممکن است بیش از یک بار ظاهر شود از get_all() استفاده کنید
  • به جای پیش‌اعتبارسنجی با عبارات منظم، URLParseError را بگیرید

مسائل رایج

مشکلدلیلراه‌حل
آدرس نسبی تجزیه نمی‌شودپایه‌ای ارائه نشده استپایه را بر اساس URL.parse() فراهم کنید
فقط اولین مقدار query برگردانده شداز get() برای یک کلید تکراری استفاده شداز get_all() استفاده کنید
کاراکترهای عجیب در مؤلفه‌هانرمال‌سازی WHATWG در عملانتظار می‌رود — این با رفتار مرورگر مطابقت دارد

FAQ

آیا تجزیه/تحلیل مطابق استاندارد WHATWG است؟

بله — نرمال‌سازی و تقسیم مؤلفه‌ها رفتار مرورگرها را بازتاب می‌دهند.

چگونه می‌توانم یک URL را بدون تجزیه/تحلیل بررسی کنم؟

URL.can_parse() اعتبار را بدون ساختن شیء برمی‌گرداند.

آیا می‌توانم یک رشتهٔ پرس‌و‌جو را در‌جا ویرایش کنم؟

بله — URLSearchParams از round-trips عملیات append/get/has/delete پشتیبانی می‌کند.


API Reference خلاصه

کلاس/متدتوضیح
URL.parseتجزیه یک URL
URL.can_parseبررسی اعتبار بدون ساخت
URLSearchParams.appendیک پارامتر پرس‌و‌جو اضافه کنید
URLSearchParams.get_allتمام مقادیر یک کلید
URLParseErrorخطای تجزیهٔ تایپی

همچنین ببینید:

 فارسی