К сожалнию, не нашёт такой информации.
Но, боюсь предположить, что она не нахидтся в открытом доступе на серверах WHOIS, т.к. такие как reg.ru эту историю продают и даеко не для всех зон (или вообще только ru, su, рф).
Парсинг — это не проблема, просто немного муторно. Распарсить текст сможет программист любого уровня и для этого не нужно ничего искать в сети.
Здесь не стал уж вставлять простыни кода парсинга… Каждому нужно что-то получить своё в данных whois
Мне лично были интересны ns-сервера.
Для парсинга их написал
такую функцию ->
public static List<string> ParseNameServers(string whoisData){
if (string.IsNullOrEmpty(whoisData)) return null;
List<string> result = new List<string>();
whoisData = whoisData.ToLower().Replace("\r\n", "\n").Replace("\r", "\n");
foreach (string line in whoisData.Split('\n'))
if (line.Length > 0){
int sep = line.IndexOf(":");
if (sep > 0){
string param = line.Substring(0, sep).ToLower();
if (param.Contains("n") && param.Contains("server")){
string nameServer = line.Substring(sep + 1, line.Length - sep - 1).Trim().ToLower();
while (nameServer.Length > 0 && nameServer.Substring(nameServer.Length - 1, 1) == ".")
nameServer = nameServer.Substring(0, nameServer.Length - 1);
if (nameServer.Length > 0 && nameServer.Contains(".") && !result.Contains(nameServer))
result.Add(nameServer);
}
}
}
if (result.Count == 0 && whoisData.Contains("ns server")) {
bool startFound = false;
foreach (string line in whoisData.Split('\n'))
if (line.Contains("ns server")) startFound = true;
else if (startFound){
string nameServer = FormatDomainName(line);
if (!ValidateDomainName(nameServer, false)) break;
if (nameServer.Length > 0 && nameServer.Contains(".") && !result.Contains(nameServer))
result.Add(nameServer);
}
}
return result;
}
public static string FormatDomainName(string value){
if (string.IsNullOrEmpty(value)) return value;
value = value.Trim().ToLower().Replace(",", ".");
while (value.Contains("..")) value = value.Replace("..", ".");
while (value.Length > 0 && value.Substring(0, 1) == ".") value = value.Substring(1, value.Length - 1).Trim();
while (value.Length > 0 && value.Substring(value.Length - 1,1) == ".") value = value.Substring(0, value.Length - 1).Trim();
return value;
}
private static string _symbols = "abcdefghijklmnopqrstuvwxyz0123456789-.";
public static bool ValidateDomainName(string value, bool onlySecondLevelDomains){
if (string.IsNullOrEmpty(value)) return false;
value = value.Trim().ToLower();
int dotCount = 0;
for (var a = 0; a < value.Length; a++){
if (value.Substring(a, 1) == ".")
dotCount++;
if (!_symbols.Contains(value.Substring(a, 1)))
return false;
}
return onlySecondLevelDomains ? dotCount == 1 : dotCount > 0;
}
Vscale — это проект Selectel, если я не ошибаюсь…
Ваш аккаунт по приглашению от пользователя, работающего в компании Selectel…
Это точно независимый обзор? )
Но, боюсь предположить, что она не нахидтся в открытом доступе на серверах WHOIS, т.к. такие как reg.ru эту историю продают и даеко не для всех зон (или вообще только ru, su, рф).
Здесь не стал уж вставлять простыни кода парсинга… Каждому нужно что-то получить своё в данных whois
Мне лично были интересны ns-сервера.
Для парсинга их написал
Ваш аккаунт по приглашению от пользователя, работающего в компании Selectel…
Это точно независимый обзор? )