2010-04-21 3 views
4

난 당신이 사이트의 URL을 입력 할 때 웹 사이트의 서버를 반환하는 함수가 : 내가 좋아하는 것 가져 오기 웹 사이트의 서버

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에서 웹 사이트의 서버를 얻을 수 있기를 주소 대신 사이트의 URL을 사용하십시오. 하지만 IP 주소를 입력하면 "잘못된 URI : URI의 형식을 결정할 수 없습니다."라는 오류 메시지가 나타납니다. WebRequest.Create (url)를 호출 할 때.

누군가 내가 원하는 것을 달성하기 위해 이것을 어떻게 수정할 수 있는지 알고 있습니까?

+0

도메인 내부의 클라이언트에서 서버 이름을 가져 오려고하십니까? –

+0

무슨 뜻인지 잘 모르겠습니다. – Steven

+0

집에서 검색하는 일부 사이트 (예 : www.google.com)의 서버 이름을 얻으려고하거나 연결중인 도메인의 서버 이름을 얻으려고합니까? –

답변

1

IP 주소를 사용할 때 이와 동일한 방법을 사용하고 있습니까? 이 오류는 IP 주소 앞에 "http : //"가없는 경우 발생합니다.

2

그렇지 않으면 당신은 IP 주소에서 이름을 조회 할 수 후 다른 통화에 주소를 사용

System.Net.Dns.GetHostEntry("127.0.0.1").HostName.ToString() 
1

하나의 IP가 여러 도메인을 제공 할 수 있습니다. 1 : 1 매핑이 없습니다. 당신이하려는 것은 DNS 역방향 조회입니다. IP에서 제공되는 도메인의 불완전한 목록을 제공하는 많은 웹 서비스가 있습니다. 일단 나는 그 (것)들의 조합을 더 완전한 명부를 얻기 위하여 사용해야했다. 여기

는 해당 사이트의 작은 목록입니다

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

그리고 난 이미 같은 IP에서 제공하는 다른 도메인을 찾아 다음 DNS 조회 사용 :

  1. http://www.robtex.com/dns/
관련 문제