URL クエリパーサー

URL を貼り付けると、構造とすべてのパラメーターをデコードして一度に表示します。重複も含み、ボタン不要、アップロードなし。

使い方

  1. URL、クエリ文字列だけ(`?a=1` または `a=1&b=2`)、ハッシュルートのリンク(`#?a=1`)を貼り付けます。入力に合わせて結果が表示され、ボタンはありません。
  2. 左パネルには各部分(入力の種類、スキーム、ユーザー情報、ホスト、ポート、パス、フラグメント)と、各パスセグメントを個別にデコードした結果が表示されます。
  3. 右パネルにはすべてのクエリパラメーターが元の順序で並びます。重複キーは印を付け、削除や並べ替えは行いません。各行に専用のコピーボタンがあります。
  4. パラメーターまたは JSON をコピーするか、JSON をダウンロードできます。デコードに失敗した場合は元のテキストを保持して「未デコード」と表示し、該当のパラメーターと文字位置を通知します。

例

入力

https://user:pass@example.com:8443/shop/search?q=hello+world&tag=news&tag=tech&empty=#results

結果

種類:絶対 URL
ユーザー情報:user:pass
ホスト:example.com · ポート:8443
パス:/shop/search → shop · search
パラメーター:q = hello world · tag = news · tag = tech(重複)· empty =(空)
フラグメント:results

クエリ文字列は + をスペースとして読むため、「+」はスペースになります。オプションをオフにするとリテラルのプラスが残ります。「tag」の 2 行はどちらも残ります。重複キーは有効で、複数値パラメーターを意味することが多いためです。「empty=」は空の値として保持され、削除されません。

ルール・制限・既知の問題

  • これはビューアーであり、バリデーターではありません。スキームのないドメインは相対パスとして解析し、警告を出しますが、黙って修正することはありません。
  • 正規化は行いません。大文字・小文字、既定ポート、IDN、「..」、パラメーターの順序は書かれたとおりに保持します。ホストは入力どおりに表示し、ドメインとサフィックスの分解は行いません。
  • デコードは 1 回のみ、UTF-8 のみです。「%2520」は「%20」のままで、GBK などでエンコードされた値は推測せずに失敗します。
  • 不正な「%」エスケープや無効な UTF-8 は、パラメーター、フィールド、文字位置を添えて報告します。元のテキストは保持して「未デコード」と印を付け、「�」で置き換えることはありません。
  • 重複キーは順序を保って保持し、印を付けます。「a[b]=c」のようなネストしたキーはフラットなまま扱い、パラメーターを並べ替えることはありません。
  • 最大 50,000 文字で、300 件のパラメーターを描画します(コピーと JSON にはすべて含まれます)。10,000 文字を超えると、入力が止まってから約 0.6 秒後に結果が更新されます。
  • アップロード、履歴、入力を含む共有リンクはありません。すべてブラウザー内で動作し、URL がページの外に出ることはありません。

URL を理解した後によく使われるツールです。