Frågesträngbyggare

=

Sammansätt en korrekt kodad frågesträng från en lista med nyckel-värde-par. Byggverktyget hanterar reserverade tecken, mellanrum och icke-ASCII-inmatning enligt hur RFC 3986 kräver, så att du kan mata in resultatet direkt i en URL utan att problem uppstår vid användning av ampersand eller liknelsetecken.

Sätt att skapa en frågesträng

  1. 1

    Lägg till dina par

    Skriv in namn och värde för varje parameter. Lägg till ytterligare rader för extra nycklar.

  2. 2

    låt kodning sker

    Mellanslag blir %20, text utanför ASCII procentkodas som UTF-8 och reserverade tecken som & = # ? kodas säkert.

  3. 3

    Kopiera utdata

    Tillför ? till din URL eller klistra in den i Postman, använd curl eller en fetch()-anrop.

Vad som kodas

Enligt RFC 3986 måste allt som ligger utanför den icke-reserverade uppsättningen (A-Z a-z 0-9 - _ . ~) kodas med procentkodning i en frågekomponent. I praktiken innebär detta att:

Karaktär Kodad som Varför
utrymme %20 eller + Otydligt beroende på kontext
& %26 Skiljer par och kan bryta strängen
= %3D Skiljer nyckel från värde
# %23 Startar fragmentet
? %3F Startar själva frågan
/ %2F Säkert i vägar, riskabelt i värden

Upprepade nycklar

Varje rad kodas separat och ordningen bevaras. Två rader med tag ger alltså tag=a&tag=b. Om servern kräver hakparenteser skriver du tag[] som nyckel. Verktyget försöker inte gissa ramverkets konvention.

Tip

  • Koda alltid värden som användaren anger; kombinera aldrig dem i sin råform i URL:n.
  • Om ett värde har en binär form, koda det med Base64 innan du lägger till det.

Vanliga frågor

Byggaren skriver alltid mellanslag som %20 enligt RFC 3986. Parsern accepterar även + och tolkar det som mellanslag i formulärfrågor.

Upprepa nyckeln: tags=php&tags=laravel. Vissa frameworker kräver parentesnotation som tags[]=php&tags[]=laravel. Anpass det enligt hur din backend tolkar den.

Det är HTML-entitetskodning som används av din mallmotor, inte själva frågesträngen. Se till att du inte utför dubbelkodning av utdata när du renderar i en <href>.

Det finns ingen gemensam praktisk gräns; webbläsare, proxyservrar, CDN:er och servrar sätter egna tak. Använd en request body för stora data.

Relaterade verktyg

Verktyget finns på andra språk