URL:er och frågesträngar
URL:er och frågesträngar
URL-lagret implementerar WHATWG-stilparsning — samma beteende som webbläsare använder — så URL:er som extraheras från dokument löser och normaliseras på det sätt de skulle i en riktig användaragents.
Parsing och validering
URL.parse() analyserar en absolut eller relativ URL; URL.can_parse() svarar på giltighet utan att konstruera ett objekt. Parsningsfel kastar den typade URLParseError.
Frågesträngar
URLSearchParams läser och redigerar frågeparametrar: append(), get(), get_all(), has() och delete() täcker hela processen, och bevarar semantiken för flera värden.
Tips och bästa praxis
- Använd
can_parse()för billig validering i filter; konstruera medparse()endast när du behöver komponenterna - Kom ihåg att fråge-nycklar kan upprepas — använd
get_all()när en parameter kan förekomma mer än en gång - Fånga
URLParseErroristället för att förvalidera med reguljära uttryck
Vanliga problem
| Problem | Orsak | Åtgärd |
|---|---|---|
| Relativ URL går inte att tolka | Ingen bas angiven | Ange basen enligt URL.parse() |
| Endast första frågevärdet returneras | Använde get() på en upprepad nyckel | Använd get_all() |
| Udda tecken i komponenter | WHATWG-normalisering i arbete | Förväntat — detta matchar webbläsarens beteende |
FAQ
Följer parsning WHATWG-standarden?
Ja — normalisering och komponentuppdelning speglar webbläsarbeteende.
Hur kontrollerar jag en URL utan att göra en parsning?
URL.can_parse() returnerar giltighet utan objektkonstruktion.
Kan jag redigera en query string på plats?
Ja — URLSearchParams stöder append/get/has/delete round-trips.
API Reference Sammanfattning
| Klass/Metod | Beskrivning |
|---|---|
URL.parse | Parsa en URL |
URL.can_parse | Giltighetskontroll utan konstruktion |
URLSearchParams.append | Lägg till en query-parameter |
URLSearchParams.get_all | Alla värden för en nyckel |
URLParseError | Typad parsfel |