Сравнение URL
Сравните два URL и выделите различия в каждом компоненте.
Об этом инструменте
Средство сравнения URL-адресов — это практичный инструмент для сравнения двух URL-адресов рядом и мгновенного выявления произошедших изменений. Выполняете ли вы отладку цепочки перенаправления, проверяете миграцию URL-адреса или убеждаетесь в том, что параметры отслеживания применены правильно, этот инструмент разбивает каждый URL-адрес на его основные компоненты — схему, хост, порт, путь, строку запроса и фрагмент — и точно выделяет, чем они отличаются. Это особенно полезно, когда нужно понять, как URL-адрес развивался на разных этапах системы или в разных окружениях разработки и продакшена.
Просто вставьте два URL-адреса в поля ввода и нажмите кнопку Сравнить. Инструмент отображает подробную таблицу, показывающую каждый компонент обоих URL-адресов с индикатором состояния: зелёный цвет выделяет компоненты, существующие только в первом 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.