是否允许将IPHostEntry.HostName作为计算机名称的子字符串
本文关键字:计算机名 字符串 IPHostEntry HostName 是否 | 更新日期: 2023-09-27 18:00:09
现在我需要通过他的IP地址找到一些PC的主机名,我用这个功能解决了这个问题:
/// <summary>
/// Returns the DNS Name of IP Address without the Domain.
/// </summary>
public string GetDNSNameFromReverseLookUp(string ip)
{
IPAddress hostIPAddress = IPAddress.Parse(ip);
IPHostEntry hostInfo = Dns.GetHostEntry(hostIPAddress);
return hostInfo.HostName.Substring(0, hostInfo.HostName.IndexOf('.'));
}
但我对这个问题的substring()
解决方案不满意。
允许以这种方式使用此功能吗?还是我必须担心将来会出现网络问题?有没有更好(更安全)的方法可以在没有域的情况下访问主机名?
我正在寻找一个更安全的网络解决方案,而不是另一种处理字符串的方法。正如评论中提到的,我有点担心,并不是每个操作系统都会以[Hostname].[Domainname]
的格式返回主机名
如果pc未加入域,则会出现错误。由于没有找到(点),所以使用分割函数是最合理的。我已经查过了。
试试这个
public string GetDNSNameFromReverseLookUp(string ip)
{
IPAddress hostIPAddress = IPAddress.Parse(ip);
IPHostEntry hostInfo = Dns.GetHostEntry(hostIPAddress);
return hostInfo.HostName.Split('.')[0];
}