כתובות 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 יחסית נכשלת בניתוח | לא סופק בסיס | ספק את הבסיס לפי URL.parse() |
| הוחזר רק ערך השאילתה הראשון | השתמש ב-get() על מפתח חוזר | השתמש ב-get_all() |
| תווים מוזרים ברכיבים | נורמליזציה של WHATWG בעבודה | צפוי — זה תואם להתנהגות הדפדפן |
FAQ
האם הפענוח עומד בתקן WHATWG?
כן — נרמול ופיצול רכיבים משקפים את התנהגות הדפדפן.
איך אני בודק כתובת URL מבלי לפענח אותה?
URL.can_parse() מחזיר תוקף ללא בניית אובייקט.
האם אני יכול לערוך מחרוזת שאילתה במקום?
כן — URLSearchParams תומך ב-append/get/has/delete מחזורים.
API Reference סיכום
| מחלקה/מתודה | תיאור |
|---|---|
URL.parse | פענח כתובת URL |
URL.can_parse | בדיקת תקפות ללא בנייה |
URLSearchParams.append | הוסף פרמטר שאילתה |
URLSearchParams.get_all | כל הערכים למפתח |
URLParseError | כשל בניתוח טיפוס |