【问题标题】:how to convert ip address to url with VB.NET OR C#如何使用 VB.NET 或 C# 将 ip 地址转换为 url
【发布时间】:2010-11-26 07:06:26
【问题描述】:

我想将 ip 地址转换为 url。但我不知道该怎么做。

【问题讨论】:

标签: c# vb.net url ip-address


【解决方案1】:

您想要什么并不完全清楚 - 举个例子会很有帮助 - 但很简单:

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地址转换成它的url。作为 72.29.94.50 到 eggheadcafe.com
  • 我猜@m.qayyum 是在谈论 DNS 解析
  • @abatishchev:听起来不错,是的。
【解决方案2】:

不确定您想要实现什么,但猜测您需要从 IP 解析主机名。

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

【讨论】:

    【解决方案3】:

    有多个网站托管在一个 IP 上的可能性。但是您可以使用默认设置

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

    以下可能有助于开始:

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

    【讨论】:

    • @m.qayyum:请注意,这与我的回答基本相同,只是 GetHostByAddress 现在已过时 - GetHostEntry 现在是首选方法。
    • @Jon - 是的,答案相同,但请查看发布时间。当我打开页面时,我看不到您的评论并且回复有点晚。这就是我错过它的原因。
    • 但我的观点是,当有另一个可用的 API 时,使用已弃用的 API 仍然没有任何好处......
    猜你喜欢
    • 2013-03-19
    • 2011-07-26
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2014-03-13
    相关资源
    最近更新 更多