Что я должен использовать: urlparse или urlsplit?
Какую пару пар синтаксического анализа URL следует использовать и почему?
Ответы
Ответ 1
Непосредственно из документов, которые вы связали самостоятельно:
urllib.parse.urlsplit(urlstring, scheme='', allow_fragments=True)
Это похоже на urlparse()
, но не разделяет параметры из URL-адреса. Обычно это следует использовать вместо urlparse()
, если требуется более новый синтаксис URL-адресов, позволяющий применять параметры к каждому сегменту участка пути URL (см. RFC 2396).
Ответ 2
Как сообщает ,
urlparse.urlparse
возвращает 6-кортеж (с дополнительным кортежем)
urlparse.urlsplit
возвращает 5-кортеж
Атрибут | Индекс | Значение | Значение, если не представлено
params 3 | Параметры для последнего элемента пути | пустая строка
FYI: Согласно RFC2396, параметр в спецификации URL
Обширное тестирование существующих клиентских приложений продемонстрировало, что большинство развернутых систем не используют ";" характер для указывают информацию о завершающих параметрах и что наличие точка с запятой в сегменте пути не влияет на относительный синтаксический анализ этот сегмент. Поэтому параметры были удалены как отдельные и теперь могут появляться в любом сегменте пути. Их влияние был удален из алгоритма для разрешения относительного URI ссылка.