2009-08-14 3 views
1

Я даю IP-адрес: 64.78.58.91, и я хотел бы получить имя хоста, используя GetHostByAddr() win32 API.GetHostByAddr() win32

Вместо возвращения www.ripcode.com возвращает intermedia.net

Я бы ожидать, чтобы получить www.ripcode.com Можете ли вы предложить Different API, которые могли бы решить эту проблему.

Заранее спасибо

С наилучшими пожеланиями, Сурен

+0

ли Nslookup возвращает тот же результат? –

ответ

4

Несколько причин, почему вы могли бы получить такое поведение:

  1. PTR запись никогда не создан для www.ripcode.com , поэтому адрес по-прежнему, как представляется, принадлежит intermedia.net (вероятно, хостинг-провайдер для www.ripcode.com).

  2. Несколько доменов размещены на том же IP-адресе, но только один (intermedia.net) имеет запись PTR.

  3. Существует множество записей PTR, но GetHostByAddr() предоставляет только один из них.

Если предположить, что у вас есть www.ripcode.com, и у Вас есть исключительное использование этого IP-адрес (это не общий хостинг установка) вы хотели бы обратиться к хостинг-провайдеру и у них изменить запись PTR в обратитесь к своему домену, поэтому обратный поиск dns будет работать правильно.

Это особенно важно для отправки электронной почты. Многие почтовые серверы будут осуществлять обратный поиск по IP-адресу отправляющего сервера и проверять домен на домен, отправляющий почту. Если они не совпадают, сообщение часто будет отклонено.

1

Если IP-адрес принадлежит общему хосту, он будет обслуживать множество разных сайтов. Это может быть лучшее, что вы можете сделать.

Этот процесс называется Reverse DNS.

0

Вы можете напрямую использовать dns api. Существует функция dnsQuery. Пожалуйста, смотрите следующие ссылки:

https://support.microsoft.com/en-in/kb/831226 https://msdn.microsoft.com/en-us/library/windows/desktop/ms682016%28v=vs.85%29.aspx

+0

Ссылки, как правило, меняются или исчезают, не могли бы вы объяснить часть содержимого или привести его сюда? – abarisone

Смежные вопросы