Разница в парсинге URL-адресов: Node.js и PythonPython

Программы на Python
Anonymous
Разница в парсинге URL-адресов: Node.js и Python

Сообщение Anonymous »


Я пытаюсь преобразовать следующий URL-адрес в действительный объект URL-адреса nodejs: https://4www.xn--www-y8c4rla.a-k-d.ru. В этом случае я ожидаю, что это потерпит неудачу.

По причинам, которые мне нужно обнаружить, что этот домен недействителен в разных скриптах — один в Node.js и один в Python. Оба должны привести к одному и тому же результату. Однако это не так, поскольку результаты различаются.

Я пытаюсь проанализировать его в node.js, используя конструктор класса URLs:

let домен = "https://4www.xn--www-y8c4rla.a-k-d.ru" пусть domain_obj = новый URL (домен); Я получаю сообщение TypeError: Invalid URL, что имеет смысл, учитывая странность URL.

При попытке анализа с помощью Python используйте класс валидаторов:

domain = "https://4www.xn--www-y8c4rla.a-k-d.ru" проверка = validators.domain(домен) .. значение validation приводит к True. Кажется, что этот метод использует только какое-то регулярное выражение для преобразования, которого недостаточно для URL-адреса этого примера.

Далее: когда я захожу в домен с помощью Chromium, меня перенаправляют на a-k-d.ru Если сделать то же самое с Firefox, домен недействителен. Мне кажется, что Chrome выполняет какое-то автоматическое преобразование URL-адресов, которое я не могу отследить.

Есть идеи, какие дополнения учитываются в Node.js при преобразовании URL-адресов? Поэтому я могу соответствующим образом расширить свою процедуру Python, чтобы получить тот же результат.

Вернуться в «Python»