【发布时间】:2010-11-26 07:06:26
【问题描述】:
我想将 ip 地址转换为 url。但我不知道该怎么做。
【问题讨论】:
-
没有从 ip 地址到 url 的转换。也许有一个从IP地址到域名的“转换”,也就是。反向dns。也许;这取决于负责 IP 地址的 dns 服务器
标签: c# vb.net url ip-address
我想将 ip 地址转换为 url。但我不知道该怎么做。
【问题讨论】:
标签: c# vb.net url ip-address
您想要什么并不完全清楚 - 举个例子会很有帮助 - 但很简单:
string url = "http://" + ipAddress;
可能就足够了。
编辑:好的,听起来您正在尝试查找 IP 地址的 name。在某些方面这很简单:
IPHostEntry entry = Dns.GetHostEntry("72.29.94.50");
Console.WriteLine(entry.HostName);
但是,这个不打印 eggheadcafe.com。它打印出完全不同的东西:
72.29.94.50.static.dimenoc.com
就反向 DNS 查找而言,这完全正确(运行“nslookup 72.29.94.50”以查看相同的结果)...但这不是您要查找的内容。
问题是我相信这个 eggheadcafe.com 是由虚拟主机提供服务的 - 尽管 eggheadcafe.com 在该 IP 地址上提供服务,其他网站也是如此(至少可能如此)。当您在浏览器中访问 eggheadcafe.com 时,它会解析为该 IP 地址,但也在 HTTP 标头中指定主机名。
【讨论】:
不确定您想要实现什么,但猜测您需要从 IP 解析主机名。
在这种情况下,您可以使用Dns.GetHostEntry 方法。
【讨论】:
有多个网站托管在一个 IP 上的可能性。但是您可以使用默认设置
IPHostEntry IpEntry = Dns.GetHostByAddress(ip);
return iphostentry.HostName.ToString();
以下可能有助于开始:
【讨论】:
GetHostByAddress 现在已过时 - GetHostEntry 现在是首选方法。