2016-08-15 2 views
-1

Есть много вопросов о SO для извлечения имени домена из разных URL-адресов, но ни один из них не охватывает ВСЕ поддомены и суффиксы (.org, .uk, .com,. org.uk,. безотносительно и т. д.).Извлечь доменное имя от ЛЮБОГО типа URL

Например:

http://uselesstext.moretext.DOMAIN.org.uk/

Результат: DOMAIN.org.uk

Основная проблема здесь состоит в том, что это, казалось бы, невозможно разработать алгоритм, чтобы определить, какая часть URL-адрес является важной частью (без использования библиотеки), поскольку может существовать различное количество поддоменов и суффиксов.

Любые идеи? (В JavaScript предпочтительно)

+5

Почему «DOMAIN.xyz.com» является «доменным именем» здесь, а не «xyz.com» или «moretext.DOMAIN.xyz.com'? – duskwuff

+0

хорошо, как вы заявили, вам нужно иметь критерии для того, что считается именем домена, а затем вы строите алгоритм на основе этого, пока у вас не будет того, что невозможно узнать, что такое доменное имя – David

+0

@duskwuff ok Я изменил это ... – JamesJameson2456

ответ

1

Что вы ищете, это Public Suffix List. Это список всех доменных расширений, которые могут иметь независимо зарегистрированные домены зарегистрированные в нем (например, com, org.uk и т. Д.).

Существует ряд реализаций Javascript этого списка. Двумя наиболее распространенными являются publicsuffixlist.js и tld.js.