我必须实现一个从C#编写的WinApp到
PHP的解决方案.我需要根据主机名提取IP.下面的代码完美地工作:
IPHostEntry LocalHostIPEntry = Dns.GetHostEntry(hostname); IPAddress LocalHostIP = LocalHostIPEntry.AddressList[0]; string ipfromhost = LocalHostIP.ToString();
目前我在PHP中发现的唯一选项是:
gethostbyname('hostname');
但是,与C#代码相同的主机返回不同的IP.此外,它返回的IP是不正确的.如果我使用nslookup -IPaddress检查相关主机,那么我得到一个完全不同的主机名.
解决方法
你可以使用:
http://php.net/manual/de/function.dns-get-record.php
array dns_get_record ( string $hostname [,int $type = DNS_ANY [,array &$authns [,array &$addtl [,bool &$raw = false ]]]] )
然后在数组中查找A类的记录(表示IPv4)