urlparse.urljoin() не обрабатывает неправильные родительские каталоги

Есть ли способ учета "недопустимых" родительских каталогов при построении абсолютного URL-адреса из относительного, или я должен просто использовать .replace()?

>>> from urlparse import urljoin
>>> url = urljoin('http://www.example.com/path/', '../../../index.html')
>>> url
'http://www.example.com/../../index.html'
>>> url.replace('../', '')
'http://www.example.com/index.html'

А еще лучше, есть ли более чистый способ очистки URL при очистке в Python?

1 ответ

Как вы сказали, это не имеет смысла. Вы можете пойти выше из корневого каталога. Так что нормализация второй части будет трудной, не зная намерений автора. Только ты умеешь правильно его дезинфицировать.:)

Другие вопросы по тегам