Я ищу библиотечную функцию для нормализации URL-адреса в Python, то есть для удаления частей "./" или "../" в пути, или добавления порта по умолчанию, или экранирования специальных персонажи и так далее. Результатом должна быть строка, уникальная для двух URL-адресов, указывающих на одну и ту же веб-страницу. Например, http://google.com
и http://google.com:80/a/../
должны возвращать один и тот же результат.
Я бы предпочел Python 3 и уже просмотрел модуль urllib
. Он предлагает функции для разделения URL-адресов, но ничего для их канонизации. В Java есть функция URI.normalize()
, которая делает то же самое (хотя она не считает порт 80 по умолчанию равным отсутствующему порту), но есть ли что-то подобное в python?