URLパーサー

任意のURLを、スキーム、認証情報、ホスト、ポート、パスセグメント、クエリパラメーター、フラグメントに分解し、デコード済みの値とJSON出力を表示します。ブラウザ内で動作します。

スキーム(プロトコル)https:
ユーザー名user
パスワードpass
ホスト名shop.example.com
ポート8080
パス/products/shoes
パスのセグメント(デコード済み)1. products 2. shoes
クエリ文字列?color=red&size=42
フラグメント#reviews
オリジンhttps://shop.example.com:8080
正規化された URLhttps://user:pass@shop.example.com:8080/products/shoes?color=red&size=42#reviews
クエリパラメーター(2)
キーデコード後の値
colorred
size42
JSON
{
  "protocol": "https:",
  "username": "user",
  "password": "pass",
  "hostname": "shop.example.com",
  "port": "8080",
  "pathname": "/products/shoes",
  "search": "?color=red&size=42",
  "hash": "#reviews",
  "origin": "https://shop.example.com:8080",
  "params": {
    "color": "red",
    "size": "42"
  }
}

URLパーサーとは?

URLパーサーは、URLを構成要素(スキーム、ユーザー名、パスワード、ホスト名、ポート、パス、パスセグメント、クエリ文字列、個別のクエリパラメーター、フラグメント)に分解し、オリジンと正規化されたURLも表示します。パーセントエンコードされた値はデコードされ、国際化ホスト名はpunycodeとUnicodeの両方で表示され、繰り返されるパラメーターもそのまま保持されます。

URLパーサーの使い方

  1. https://user:pw@example.com:8080/a/b%20c?x=1&y=two#h のような絶対URLを貼り付けます。
  2. 構成要素の表を確認します。ポートが指定されていない場合、ポートの行には既定のポートが表示されます。
  3. クエリパラメーターの表で、デコードされた各キーと値を確認します。
  4. JSONブロックをコピーして、解析結果をコードやテストで使います。

例

入力
https://user:pw@example.com:8080/a/b%20c?x=1&y=two#h
出力
host example.com · port 8080 · path segments: 1. a, 2. b c · query ?x=1&y=two (x = 1, y = two) · fragment #h

URLパーサーを使うべき場面

トラッキングリンク、OAuthのリダイレクトURL、署名付きURL、パラメーターの多いAPI呼び出しのデバッグに使います。解析できるのは絶対URLのみで、相対パスの場合は先に https://example.com などのベースを付けてください。URLにアクセスはしません。

URLパーサーの仕組み

URLはブラウザ内蔵のWHATWG URL クラス(ブラウザがナビゲーションに使うのと同じパーサー)で解析されるため、結果は実際のブラウザの動作と一致します(ホストの小文字化、ドットセグメントの解決、IDNのpunycode化)。クエリパラメーターは URLSearchParams から取得され、+ はスペースに、パーセントエスケープはUTF-8としてデコードされます。パスセグメントは decodeURIComponent でデコードされ、不正なエスケープが含まれる場合はそのまま残されます。

一般的な使用例

  • マーケティングリンクから、UTMやクリックIDのパラメーターを読み取る。
  • OAuth認可URLのredirect_uriとstateを確認する。
  • パーセントエンコードされたパスセグメントをデコードして、元のファイル名を確認する。
  • 国際化ドメインのpunycode形式を調べる。

よくある質問

URLが無効と判定されるのはなぜですか。

パーサーにはスキーム付きの絶対URLが必要です。example.com/page は相対参照なので、https://example.com/page と書いてください。

+がスペースになったのはなぜですか。

クエリ文字列では、URLSearchParamsは+がスペースを意味するHTMLフォームエンコーディングに従います。文字どおりのプラス記号には%2Bを使ってください。

URLはどこかに送信されますか。

いいえ。解析はすべてブラウザ内で行われます。

おすすめの次のステップ

QR コードジェネレーター
リンク、テキスト、Wi-Fi 接続情報、連絡先、メール、SMS、電話番号の QR コードを無料で作成。誤り訂正、サイズ、色を設定でき、PNG または SVG でダウンロードできます。
スラッグ生成
タイトルをきれいな URL スラッグに変換します。アクセントの除去、ベトナム語・キリル文字・ギリシャ文字の翻字、区切り、大文字小文字、最大長の設定、一括処理にも対応。
エスケープ/アンエスケープ
JSON、JavaScript、HTML、XML、URL コンポーネント、正規表現、SQL リテラル、CSS 文字列、シェル引数向けに、文字列をエスケープ・アンエスケープできる 1 つのツールです。
正規表現ビルダー
ステップ(テキスト、数字、文字、文字セット、アンカー)に繰り返しとグループを付けて、正規表現を視覚的に作成。プリセットから始めることもでき、リアルタイムでテストできます。
cron 式パーサー
cron 式を貼り付けて検証し、分かりやすい日本語で読み解き、任意のタイムゾーンでの次回の 10 回の実行日時を一覧表示。秒フィールドと @daily マクロにも対応します。
リンク抽出
プレーンテキスト、HTML(href と src)、Markdown からすべてのリンクをきれいな一覧に抽出します。重複の削除、相対リンクの追加、コピー、ダウンロードに対応。

他のカテゴリを見る