Разница в парсинге URL-адресов: Node.js и Python ⇐ Python
-
Anonymous
Разница в парсинге URL-адресов: Node.js и Python
Я пытаюсь преобразовать следующий 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, чтобы получить тот же результат.
Я пытаюсь преобразовать следующий 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, чтобы получить тот же результат.