我必须实施从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}}?
答案 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。