我正在提供IP地址:64.78.58.91,我想使用GetHostByAddr()win32 API检索主机名。
而不是返回www.ripcode.com,它返回intermedia.net
我希望得到www.ripcode.com你能否提出一个可以解决这个问题的不同API。
先谢谢
最诚挚的问候, 苏伦
答案 0 :(得分:4)
您可能会遇到此行为的几个原因:
从未为www.ripcode.com设置PTR记录,因此该地址似乎仍属于intermedia.net(可能是www.ripcode.com的托管服务提供商)。
多个域托管在同一个IP地址上,但只有一个(intermedia.net)实际上有一个PTR记录。
设置了多个PTR记录,但GetHostByAddr()只提供其中一个。
假设您拥有www.ripcode.com,并且您拥有该IP地址的独家使用权(它不是共享主机设置),您可以联系您的托管服务提供商并让他们更改PTR记录以引用您的域名,反向dns查找将正常工作。
这对于发送电子邮件尤为重要。许多电子邮件服务器将对发送服务器的IP执行反向查找,并针对发送邮件的域检查域。如果它们不匹配,则通常会拒绝该消息。
答案 1 :(得分:1)
如果IP地址属于共享主机,它将服务于许多不同的网站。这可能是你能做的最好的事情。
该过程称为Reverse DNS。
答案 2 :(得分: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