Strument do tworzenia zapytań (Query String Builder)

=

Stwórz poprawnie kodowaną ciągę zapytania na podstawie listy par klucz–wartość. Moduł budowy obsługuje znaki rezerwowane, przestrzenie oraz dane wejściowe niezgodne z formatem ASCII zgodnie z wymogami RFC 3986, dzięki czemu wynik można bezpośrednio wpisać do adresu URL bez problemów z znakami & lub =.

Jak stworzyć ciąg zapytania

  1. 1

    Dodaj swoje pary.

    Wpisz nazwę i wartość każdego parametru. Dodaj dodatkowe rzędy dla dodatkowych kluczy.

  2. 2

    Umożliwij proces kodowania.

    Spacje są zamieniane na %20, tekst spoza ASCII otrzymuje kodowanie procentowe UTF-8, a znaki zarezerwowane, takie jak & = # ?, są bezpiecznie kodowane.

  3. 3

    Kopij wynik.

    Wpisz je przed adres URL za pomocą ? lub wklej je do Postmana, curla lub wywołania funkcji fetch().

Co jest kodowane

Zgodnie z RFC 3986 wszystkie wartości poza zborem niezarezerwowanym (A-Z a-z 0-9 - _ . ~) muszą być kodowane metodą procentowej w komponentie zapytania. W praktyce to oznacza:

Charakter Kodeowany jako Dlaczego
przestrzeń %20 lub + Niejednoznaczne w zależności od kontekstu
& %26 Rozdzielanie par; może rozbić ciąg
= %3D Oddziela klucz od wartości
# %23 Uruchamia fragment
? %3F Uruchamia sam zapyt
/ %2F Bezpieczne w drogach, ryzykowne pod względem wartości

Powtarzające się klucze

Każdy wiersz jest kodowany osobno, a kolejność pozostaje bez zmian. Dwukrotne wpisanie tag daje tag=a&tag=b. Jeśli serwer wymaga nawiasów, wpisz tag[] jako klucz. Narzędzie nie zgaduje konwencji używanej przez framework.

Wskazówki

  • Zawsze koduj wartości podane przez użytkownika; nigdy nie łącza ich w całości bez edycji w adresie URL.
  • Jeśli wartość ma wygląd binarny, zenkoduj ją za pomocą funkcji base64url przed jej wprowadzeniem.

Najczęściej zadawane pytania

Generator zawsze zapisuje spacje jako %20 zgodnie z RFC 3986. Parser akceptuje też + i odczytuje go jako spację w zapytaniach formularzy.

Powtórź klucz: tags=php&tags=laravel. Niektóre frameworki wymagają notacji z nawiasami, na przykład tags[]=php&tags[]=laravel. Zgodź się z sposobem interpretacji danych przez twoje backendowe systemy.

Jednaje się o kodowanie entitetów HTML stosowane przez twoj silnik szablonowy, a nie sam tekst zapytania. Upewnij się, że nie wykorzystujesz podwójnego ucieleśnienia znaków (escaping) dla wyniku renderowania w elementie <href>.

Nie ma jednego praktycznego limitu; przeglądarki, proxy, CDN-y i serwery mają własne ograniczenia. Duże dane przesyłaj w treści żądania.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach