URL解析
URLを構成要素に分解するツール。長いトラッキングURL、APIのリクエストURL、リダイレクト先の確認に使える。
URL解析
- プロトコル
https:- ユーザー名
user- ホスト名
example.com- ポート
8080- オリジン
https://example.com:8080- パス
/search/result- パス(デコード)
/search/result- クエリ
?q=%E6%97%A5%E6%9C%AC&page=2&tag=a&tag=b- フラグメント
#top
| キー | 値(デコード済み) |
|---|---|
q | 日本 |
page | 2 |
tag | a |
tag | b |
使い方
- 解析したいURLを入力する。
- 各構成要素とクエリパラメータを確認する。
- 必要な値をコピーする。
こんな用途に
- 長いトラッキングURLのパラメータを確認したいとき。
- APIのリクエストURLのクエリが意図どおりか確かめたいとき。
- パーセントエンコードされた日本語のパスやクエリを読みたいとき。
仕組み
- ブラウザ標準のURL APIで解析。ホスト名の国際化ドメインはPunycodeで表示される。
- クエリはURLSearchParamsでデコードし、同じキーが複数あればすべて表示。
確認ポイント
- クエリの「+」はスペースとしてデコードされる。
- フラグメント(#以降)はサーバーへ送信されない。
手元でやるには
URLを分解
必要環境: Python 3python3 -c 'import sys,urllib.parse as u; p=u.urlsplit(sys.argv[1]); print(p); print(u.parse_qsl(p.query))' 'https://example.com/?q=1'よくある質問
スキームのないURLは解析できる?
解析できない。example.comのような入力はhttps://を付けて入力する。
URLエンコード・デコードツールとの違いは?
URLエンコードは文字列全体を変換する。このツールはURLを構成要素に分解してから各値をデコードする。