Adresy URL i ciągi zapytań

Adresy URL i ciągi zapytań

Adresy URL i ciągi zapytań

Warstwa URL implementuje parsowanie w stylu WHATWG — taką samą zachowanie, jakie stosują przeglądarki — więc URL-e wyodrębnione z dokumentów są rozwiązywane i normalizowane tak, jak w rzeczywistym agencie użytkownika.


Parsowanie i walidacja

URL.parse() parsuje bezwzględny lub względny URL; URL.can_parse() zwraca informację o poprawności bez tworzenia obiektu. Błędy parsowania podnoszą typowany URLParseError.

Ciągi zapytań

URLSearchParams odczytuje i edytuje parametry zapytania: append(), get(), get_all(), has() i delete() obejmują pełny cykl, zachowując semantykę wielowartościową.


Wskazówki i najlepsze praktyki

  • Użyj can_parse() do taniej walidacji w filtrach; konstruuj za pomocą parse() tylko wtedy, gdy potrzebujesz komponentów
  • Pamiętaj, że klucze zapytań mogą się powtarzać — użyj get_all(), gdy parametr może wystąpić więcej niż raz
  • Przechwytuj URLParseError zamiast wstępnie walidować przy pomocy wyrażeń regularnych

Typowe problemy

ProblemPrzyczynaNaprawa
Względny URL nie może zostać sparsowanyNie podano bazyPodaj bazę zgodnie z URL.parse()
Zwrócono tylko pierwszą wartość zapytaniaUżyto get() przy powtarzającym się kluczuUżyj get_all()
Dziwne znaki w komponentachNormalizacja WHATWG w działaniuOczekiwane — to odpowiada zachowaniu przeglądarki

FAQ

Czy parsowanie jest zgodne ze standardem WHATWG?

Tak — normalizacja i podział komponentów odzwierciedlają zachowanie przeglądarki.

Jak sprawdzić adres URL bez jego parsowania?

URL.can_parse() zwraca ważność bez tworzenia obiektu.

Czy mogę edytować ciąg zapytania w miejscu?

Tak — URLSearchParams obsługuje round-tripy append/get/has/delete.


API Reference Podsumowanie

Klasa/MetodaOpis
URL.parseParsuj adres URL
URL.can_parseSprawdzenie ważności bez tworzenia
URLSearchParams.appendDodaj parametr zapytania
URLSearchParams.get_allWszystkie wartości dla klucza
URLParseErrorBłąd parsowania typowanego

Zobacz także

 Polski