PHP根据主机名获取IP

时间:2016-06-21 14:04:38

标签: c# php ip

我必须实施从WinApp写到C#的{​​{1}}解决方案。我需要根据PHP提取IP。下面的代码完美无缺:

host name

我在IPHostEntry LocalHostIPEntry = Dns.GetHostEntry(hostname); IPAddress LocalHostIP = LocalHostIPEntry.AddressList[0]; string ipfromhost = LocalHostIP.ToString(); 中找到的唯一选项是:

PHP

但是,对于与gethostbyname('hostname'); 代码相同的主机,它会返回不同的IP。此外,它返回的C#不正确。如果我使用IP检查相关主机,那么我会得到一个完全不同的主机名。

发生了什么?使用nslookup -IPaddress-可以使用哪些其他方法在网络上查找IP的{​​{1}}?

2 个答案:

答案 0 :(得分:5)

您可以使用php dns_get_record function

array dns_get_record ( string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl [, bool &$raw = false ]]]] )

然后在数组中查找类型A的记录(表示IPv4)

答案 1 :(得分:2)

使用2个预定义函数获取主机IP有2个解决方案

$ip = gethostbyname('php.net');
echo $ip;

$result = dns_get_record("php.net");
print_r($result);

当您通过防火墙访问这些网站时,可以解决这个问题。它们被阻止然后您将看到您的本地IP而不是所需的站点IP。