URL

Komponenty

Czym jest Parser URL?

Wklej URL, a narzędzie rozbije go na części, które naprawdę cię interesują — protokół, host, port, ścieżkę, parametry zapytania, hash. Wyjście to JSON, więc możesz skopiować je prosto do fixture'a testowego, loga debugowego albo gdziekolwiek indziej, gdzie potrzebujesz komponentów w formie strukturalnej. Parser działa zgodnie z WHATWG URL Standard, który każda nowoczesna przeglądarka używa wewnętrznie.

Po co parser? Bo czytanie długiego URL z pięcioma parametrami zapytania zakodowanymi procentowo i fragmentem hash to udręka. Przeglądarka już wie, jak to zrobić przez URL API, ale nie masz szybkiej powierzchni "wklej-i-zobacz" do tego. To jest właśnie ona. Parametry zapytania też są dekodowane — %20 staje się spacją, %5B staje się [, powtarzające się klucze stają się tablicą — to samo zachowanie co URLSearchParams.

Wszystko działa w twojej przeglądarce. Bez przesyłania, bez serwera, bez logów. Parsowanie URL jest deterministyczne — nie ma AI, nie ma zgadywania, jedynie ten sam algorytm, który RFC 3986 zdefiniował, a specyfikacja WHATWG dopracowała.

Jak używać Parsera URL

Trzy kroki. Każdy odpowiada przyciskowi na tej stronie.

1

Wklej URL lub załaduj przykład

Wrzuć URL do lewego panelu. Kliknij Przykład, żeby załadować realny przypadek z kodowaniem procentowym, powtarzającymi się kluczami zapytania i fragmentem hash. Przykładowy URL:

https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active&total%5Bgte%5D=49.99&page=2#summary

Cokolwiek konstruktor URL akceptuje, działa — w tym <code>file://</code>, <code>mailto:</code>, niestandardowe schematy, hosty IPv6 i userinfo (<code>user:pass@host</code>).

2

Odczytaj komponenty

Prawy panel pokazuje sparsowany URL jako JSON: protocol, host, port, pathname, pathSegments (ścieżka rozbita na tablicę), searchParams (zdekodowane pary klucz-wartość, z tablicami dla powtarzających się kluczy) i hash. Aktualizuje się w trakcie pisania.

3

Skopiuj lub pobierz

Kliknij Kopiuj, żeby wysłać JSON do schowka, albo Pobierz, żeby zapisać go jako plik .json. Zminifikuj upakuje JSON w jednej linii, jeśli potrzebujesz go do linii loga. Użyj Wyczyść w panelu wejściowym, żeby zacząć od nowa.

Kiedy naprawdę tego użyjesz

Debugowanie przekierowań i URL-i analitycznych

URL z dwunastoma parametrami zapytania z przekierowania trackingowego reklam jest nieczytelny w pasku adresu. Wklej go tutaj, żeby zobaczyć parametry linijka po linijce, zdekodowane, z parametrem docelowym url w pełni rozpakowanym. Dobrze łączy się z usuwaniem trackerów w naszym URL Cleaner (gdy będzie dostępny).

Inspekcja URL-i webhooków i callbacków OAuth

Callbacki OAuth i payloady webhooków upychają stan w query stringu. Rozbicie tego sprawia, że jest oczywiste, czy brakuje tokena state, czy code został obcięty, albo czy redirect_uri jest zakodowane dwukrotnie. RFC 6749 wymaga tych parametrów i to narzędzie pokazuje wszystkie naraz.

Tworzenie fixture'ów testowych

Kiedy piszesz testy przeciwko URL, zwykle chcesz go jako obiektu strukturalnego, nie stringa. Wklej URL, skopiuj JSON, wrzuć do swojego pliku fixture'a. Oszczędzasz sobie pisania protocol: 'https:' ręcznie po raz piąty dzisiaj.

Sanity-check zgłoszeń supportowych

"Zepsuło się, jak kliknąłem w ten link" — link ma 400 znaków z podwójnie zakodowanymi slashami. Parser pokazuje dokładnie to, co zobaczyłaby przeglądarka, w tym czy %252F oznacza dosłowny %2F, czy separator ścieżki, który został zakodowany dwukrotnie po drodze przez proxy.

Częste pytania

Czy działa z relatywnymi URL-ami?

Nie — konstruktor URL potrzebuje URL absolutnego (z protokołem jak https:// albo file://). Dla relatywnych URL-i dodaj najpierw bazę typu https://example.com, a potem usuń ją z wyniku. Specyfikacja WHATWG opisuje formę dwuargumentową (new URL(relative, base)) używaną wewnętrznie przez przeglądarki.

Jak obsługuje powtarzające się klucze zapytania?

Powtarzające się klucze zwijają się w tablicę. Czyli ?tag=red&tag=blue staje się "tag": ["red", "blue"] w wyjściu. Pasuje to do tego, jak większość frameworków serwerowych (Express, FastAPI, ASP.NET) parsuje query stringi.

A notacja tablicowa z nawiasami typu ?items[]=1&items[]=2?

Parser traktuje nawiasy jako część klucza — zobaczysz więc "items[]": ["1", "2"]. To jest uczciwe wobec bajtów na drucie. Jeśli potrzebujesz dekodera specyficznego dla frameworku (PHP, Rails, qs.js), zrób przetwarzanie końcowe na sparsowanym wyjściu.

Czy bezpiecznie jest wkleić poświadczenia w URL-ach (user:pass@host) tutaj?

Parsowanie odbywa się w całości w twojej przeglądarce — URL nigdy nie opuszcza twojej maszyny. Mimo to umieszczanie poświadczeń w URL jest generalnie odradzane (RFC 3986 §3.2.1 wskazuje na zagrożenia bezpieczeństwa), a większość przeglądarek po cichu je usuwa. Jeśli wkleisz takie, pola username i password pojawią się w wyjściu.

Czy obsługuje umiędzynarodowione nazwy domen (IDN)?

Konstruktor URL przeglądarki obsługuje domeny IDN, ale wyjście może pokazać formę Punycode (xn--...) zamiast formy Unicode. To jest forma, w jakiej URL faktycznie zostałby wysłany przez sieć. Jeśli musisz konwertować pomiędzy obiema, dedykowane narzędzie Punycode pojawi się w tej sekcji wkrótce.

Dlaczego wyjście nazywa się "Komponenty", a nie "JSON"?

To jest JSON — ale ramka znaczy. Wyjście to części URL-a, ustrukturyzowane. Jeśli traktujesz stronę jako "konwerter URL → JSON", umyka ci sedno: wartość jest w rozbiciu, nie w formacie.

Inne narzędzia URL i JSON

Parsowanie to jedna operacja. Oto co naturalnie się z nią łączy: