コンテンツへスキップ
🛠️ToolsShed

URL差分チェッカー

2つのURLを比較し、各コンポーネントの違いをハイライトします。

このツールについて

URL Diff Checkerは、2つのURLを並べて比較し、変更されたコンポーネントを瞬時に特定するための実用的なツールです。リダイレクトチェーンをデバッグする場合でも、URL移行を確認する場合でも、またはトラッキングパラメーターが正しく適用されたことを確認する場合でも、このツールは各URLをスキーム、ホスト、ポート、パス、クエリ文字列、フラグメントなどのコア構成要素に分解し、どこが異なるかを正確に強調します。異なるシステムの段階や開発環境と本番環境の間でURLがどのように進化したかを理解する必要がある場合に特に役立ちます。

2つのURLを入力フィールドに貼り付けて「比較」をクリックするだけです。ツールは両方のURLの各構成要素を表示する詳細なテーブルとステータスインジケーターを表示します。最初のURLにのみ存在するコンポーネントは緑で強調され、2番目のURLにのみ存在するコンポーネントは赤、異なるコンポーネントは黄色、同一の部分は灰色で表示されます。メインコンポーネントの下には、いずれかのURLに存在するすべてのクエリパラメーターを一覧表示する別のセクションがあり、追加、削除、または変更されたパラメーターを一目で簡単に特定できます。

よくある質問

コード実装

from urllib.parse import urlparse, parse_qs

def parse_url_components(url: str) -> dict:
    p = urlparse(url)
    return {
        "scheme":   p.scheme,
        "host":     p.netloc,
        "path":     p.path,
        "query":    parse_qs(p.query),
        "fragment": p.fragment,
    }

def url_diff(url1: str, url2: str) -> dict:
    a = parse_url_components(url1)
    b = parse_url_components(url2)
    diff = {}
    for key in a:
        if a[key] != b[key]:
            diff[key] = {"from": a[key], "to": b[key]}
    return diff

url_a = "https://example.com/search?q=hello&page=1#results"
url_b = "https://example.com/search?q=world&page=2#top"

differences = url_diff(url_a, url_b)
if differences:
    print("Differences found:")
    for component, change in differences.items():
        print(f"  {component}:")
        print(f"    from: {change['from']}")
        print(f"    to:   {change['to']}")
else:
    print("URLs are identical")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.