4

サイトの URL を入力すると、Web サイトのサーバーを返す関数があります。

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;
}

サイトの URL の代わりに IP アドレスから Web サイトのサーバーを取得できるようにしたいと考えています。しかし、IP アドレスを入力すると、「無効な URI: URI の形式を特定できませんでした」というエラーが表示されます。WebRequest.Create(url) を呼び出すとき。

私が望むものを達成するためにこれを変更する方法を誰かが知っていますか?

4

3 に答える 3

2

それ以外の場合は、IP アドレスから名前を検索し、そのアドレスを他の呼び出しで使用できます。

System.Net.Dns.GetHostEntry("127.0.0.1").HostName.ToString()
于 2010-04-21T15:19:52.400 に答える
1

IPアドレスを使用するときにこれと同じ方法を使用していますか?このエラーは、IPアドレスの前に「http://」が付いていない場合にスローされます。

于 2010-04-21T15:12:07.387 に答える
1

1 つの IP で複数のドメインにサービスを提供できます。1:1 マッピングはありません。あなたがやろうとしているのは逆引き DNS ルックアップです。IP から提供されるドメインの不完全なリストを提供する多くの Web サービスがあります。より完全なリストを得るために、それらの組み合わせを使用しなければならなかったことがあります。

そのようなサイトの小さなリストを次に示します。

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

また、同じ IP によって提供される他のドメインも検索する次の DNS ルックアップを既に使用しています。

  1. http://www.robtex.com/dns/
于 2010-04-21T15:43:06.993 に答える