Извлеките доменное имя из имени хоста

Мне удалось найти решение. В игре было несколько вещей:

  1. Telerik ASP.NET с элементами управления AJAX использует встроенную версию JQuery, которая конфликтовала. Мне нужно было бы отключить встроенный Telerik и указать версию JQuery ИЛИ ...
  2. Переместить мой JavaScript-код ниже определения Telerik ... все еще в разделе Body, но ПОСЛЕ раздела Form.

Роб.

16
задан 5 May 2009 в 16:17
поделиться

3 ответа

Вы можете использовать раздел вместо split :

>>> 'www.yahoo.co.jp'.partition('.')[2]
'yahoo.co.jp'

Это поможет с анализом, но, очевидно, не будет проверять, является ли возвращенная строка действительный домен.

3
ответ дан 30 November 2019 в 22:24
поделиться

Нет тривиального определения того, какое «доменное имя» является родительским для какого-либо конкретного «имени хоста».

Ваш текущий метод обхода дерева до тех пор, пока вы не увидите SOA запись на самом деле является наиболее правильной.

С технической точки зрения, то, что вы делаете там, - это нахождение "среза зоны", и в подавляющем большинстве случаев это будет соответствовать точке, в которой домен был делегирован из его TLD.

Любой метод, основанный на простом текстовом синтаксическом анализе имени хоста без ссылки на DNS, обречен на неудачу.

В качестве альтернативы можно использовать централизованно поддерживаемые списки доменов, ориентированных на делегирование, из http: //publicsuffix.org/, но помните, что эти списки могут быть неполными и / или устаревшими.

См. Также этот вопрос , где все это было пропущено раньше ...

15
ответ дан 30 November 2019 в 22:24
поделиться

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

Примерный алгоритм состоит в том, чтобы использовать список зон, наподобие упомянутой Альнитаком. Помните, что эти статические списки не являются авторитетными, в них не хватает многих реестров, они устарели и т. Д.

1
ответ дан 30 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: