首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从IP地址获取网站服务器

从IP地址获取网站服务器
EN

Stack Overflow用户
提问于 2010-04-21 22:40:21
回答 3查看 2.3K关注 0票数 4

我有一个函数,当你输入网站的url时,它会返回网站的服务器:

代码语言:javascript
复制
private string GetWebServer()
{
    string server = string.Empty;

    //get URL
    string url = txtURL.Text.Trim().ToLower();
    if (!url.StartsWith("http://") && !url.StartsWith("https://"))
        url = "http://" + url;

    HttpWebRequest request = null;
    HttpWebResponse response = null;

    try
    {
        request = WebRequest.Create(url) as HttpWebRequest;
        response = request.GetResponse() as HttpWebResponse;

        server = response.Headers["Server"];
    }
    catch (WebException wex)
    {
        server = "Unknown";
    }
    finally
    {
        if (response != null)
        {
            response.Close();
        }
    }

    return server;
}

我希望也能够获得一个网站的服务器从IP地址,而不是网站的网址。但是,如果我输入一个IP地址,我会得到一个错误消息:“无效的URI:无法确定URI的格式。”当调用WebRequest.Create(url)时。

有人知道我如何修改它来完成我想要的吗?

EN

回答 3

Stack Overflow用户

发布于 2010-04-21 23:19:52

否则,您可以从IP地址中查找名称,然后在其他呼叫中使用该地址:

代码语言:javascript
复制
System.Net.Dns.GetHostEntry("127.0.0.1").HostName.ToString()
票数 2
EN

Stack Overflow用户

发布于 2010-04-21 23:12:07

您在使用IP地址时是否使用相同的方法?如果您没有在IP地址前面加上"http://“”,则会抛出此错误。

票数 1
EN

Stack Overflow用户

发布于 2010-04-21 23:43:07

单个IP可以服务于多个域名。您将不会有1:1的映射。您尝试执行的是反向DNS查找。有许多are服务提供了IP提供的域的不完整列表。有一次,我不得不使用它们的组合来获得一个更完整的列表。

以下是此类网站的一小部分:

  1. http://remote.12dt.com/
  2. http://www.guerrilladns.com/

并且我已经使用了下面的DNS查找,它也可以找到由相同IP提供服务的其他域:

  1. http://www.robtex.com/dns/
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2683915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档