2010-04-21 3 views
4

J'ai une fonction qui retourne lorsque vous entrez l'URL du site serveur d'un site Web:serveur de Get site de l'adresse IP

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

Je voudrais être aussi en mesure d'obtenir le serveur d'un site Web de la propriété intellectuelle adresse au lieu de l'URL du site. Mais si j'entre une adresse IP, j'obtiens une erreur disant "Invalid URI: Le format de l'URI n'a pas pu être déterminé." lors de l'appel de WebRequest.Create (url). Est-ce que quelqu'un sait comment je peux modifier cela pour accomplir ce que je veux?

+0

Essayez-vous d'obtenir le nom du serveur d'un client à l'intérieur du domaine? –

+0

Je ne suis pas sûr de ce que vous voulez dire. – Steven

+0

Essayez-vous d'obtenir le nom de serveur d'un site que vous consultez chez vous, par exemple www.google.com, ou essayez-vous d'obtenir le nom d'un serveur sur votre domaine auquel vous êtes connecté? –

Répondre

1

Utilisez-vous la même méthode lorsque vous utilisez une adresse IP? Cette erreur sera levée si vous n'avez pas ajouté "http: //" à l'adresse IP.

2

Sinon, vous pouvez rechercher le nom de l'adresse IP, puis utilisez l'adresse dans vos autres appels:

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

Une seule adresse IP peut servir plusieurs domaines. Vous n'aurez pas de mappage 1: 1. Ce que vous essayez de faire est une recherche DNS inversée. De nombreux services Web fournissent une liste incomplète de domaines desservis à partir d'une adresse IP. Une fois j'ai dû utiliser une combinaison d'entre eux pour obtenir une liste plus complète.

Voici une petite liste de ces sites:

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

Et je l'ai déjà utilisé la recherche DNS suivante qui trouve également d'autres domaines desservis par la même adresse IP:

  1. http://www.robtex.com/dns/
Questions connexes