クエリ文字列ビルダー

=

キー値ペアのリストから正しくエンコードされたクエリ文字列を構築します。ビルダーは、RFC 3986が定める通りに予約文字、スペースおよび非ASCII形式の入力を処理するため、結果をアンパースンドや等号で破られていないまま直接URLに渡すことができます。

クエリ文字列の構築方法

  1. 1

    ペアを追加します

    各パラメータ名と値を入力してください。追加のキーが必要な場合は、さらに行を追加します。

  2. 2

    エンコーディングを実行する

    スペースは「%20」に、非ASCII文字はUTF-8のパーセント表記に変換され、「&」「=」「#」「?」などの予約文字も安全にエンコードされます。

  3. 3

    出力をコピーします

    URLの先頭に「?」を付けるか、Postmanやcurl、またはfetch()呼び出しに貼り付けてください。

何がエンコードされるのか

RFC 3986に基づき、予約されていないセット(A-Z a-z 0-9 - _ . ~)に属さないすべての値はクエリコンポーネント内でパーセントエンコードされる必要があります。実際には、これは以下の通りです:

フィーチャー 隠写形式 理由
空間 %20 または + コンテキストによって意味が異なる
& %26 ペアを分離し、文字列を切断します
= %3D キーと値を分離します
# %23 フラグメントを開始します
? %3F クエリを実行します
/ %2F 路線では安全だが、価値観においてはリスクがある

繰り返しキー

各行は個別にエンコードされ、入力順も維持されます。tagを2回入力するとtag=a&tag=bになります。サーバーが角括弧形式を要求する場合は、キーにtag[]と入力してください。このツールはフレームワークの規則を自動判定しません。

ヒント

  • ユーザーが提供した値は常にエンコードしてください。URLに生の値を結合してはいけません。 値がバイナリ形式である場合は、使用する前にbase64でURLエンコードしてください。

よくある質問

ビルダーはRFC 3986に従い、空白を常に%20で出力します。パーサーはフォーム互換の+も空白として読み取ります。

キー「tags=php&tags=laravel」を繰り返してください。一部のフレームワークでは「tags[]=php&tags[]=laravel」のような括弧記法を期待しているため、バックエンドが解析する形式に合わせてください。

これはクエリ文字列自体ではなく、テンプレートエンジンによって適用されるHTMLエンティティエンコーディングです。href内でのレンダリング時に出力内容を二重にエスケープしていないか確認してください。

実用上の上限はブラウザ、プロキシ、CDN、サーバーごとに異なります。大きなデータはリクエスト本文を使ってください。

関連ツール

このツールは他の言語でも利用できます