如何将IP地址转换为与VB.NET或C#的URL#

问题描述:

我想将IP地址转换为网址。但我无法弄清楚如何。如何将IP地址转换为与VB.NET或C#的URL#

+1

有从IP地址到一个URL任何转换。也许有从IP地址到域名的“转换”,也就是说。反向dns。也许;它取决于负责IP地址的DNS服务器 – Onkelborg 2010-11-26 07:15:55

+0

[在C#中,我如何解析主机的IP地址?](http://stackoverflow.com/questions/1029749/in-c-how- do-i-resolve-the-ip-address-of-a-host) – abatishchev 2010-11-26 07:18:05

有可能在单个IP上托管多个网站。但是你可以使用

IPHostEntry IpEntry = Dns.GetHostByAddress(ip); 
return iphostentry.HostName.ToString(); 

下列所述或许有助于开始得到默认:

http://www.c-sharpcorner.com/UploadFile/uchukamen/IPAddHostConverter12052005041212AM/IPAddHostConverter.aspx

这不是完全清楚你想要什么 - 一个例子将是有益的 - 但这样简单的事情如:

string url = "http://" + ipAddress; 

将很可能是不够的。

编辑:好的,这听起来像你试图找到一个IP地址的名称。在某些方面,这是相当简单:

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标头中的主机名。

+0

我想将一个IP地址转换为它的url。作为72.29.94.50到http://www.eggheadcafe.com – 2010-11-26 07:14:34

不知道你想达到什么,但猜测你需要从IP解析主机名。

在这种情况下,您可以使用Dns.GetHostEntry方法。