2009-06-22 7 views

Répondre

10
IPHostEntry Host = Dns.GetHostEntry(DNSNameString); 
DoSomethingWith(Host.AddressList); 
+0

Merci les gars pour votre aide, mais je veux obtenir l'adresse IP du visiteur pas le pc im de travail –

+3

Erm. Mon exemple n'a rien à voir avec le PC sur lequel vous êtes. DNSNameString est censé être le nom du serveur auquel vous vous connectez, c'est-à-dire répondre à la question d'origine. Je ne sais pas d'où vient ce que vous dites au sujet de l'adresse IP d'un visiteur ou de ce qu'il a à voir avec la question. – chaos

0

Sur la base de vos commentaires sur la réponse du chaos, vous ne voulez pas l'adresse IP d'un serveur, vous voulez que l'adresse IP d'un client. Si c'est le cas, réparez votre question ... et votre réponse sera HttpRequest.UserHostAddress.

2

Si vous utilisez la méthode ci-dessous vous serez en mesure de résoudre correctement

public static bool GetResolvedConnecionIPAddress(string serverNameOrURL, out IPAddress resolvedIPAddress) 
     { 
      bool isResolved = false; 
      IPHostEntry hostEntry = null; 
      IPAddress resolvIP = null; 
      try 
      { 
       if (!IPAddress.TryParse(serverNameOrURL, out resolvIP)) 
       { 
        hostEntry = Dns.GetHostEntry(serverNameOrURL); 

        if (hostEntry != null && hostEntry.AddressList != null && hostEntry.AddressList.Length > 0) 
        { 
         if (hostEntry.AddressList.Length == 1) 
         { 
          resolvIP = hostEntry.AddressList[0]; 
          isResolved = true; 
         } 
         else 
         { 
          foreach (IPAddress var in hostEntry.AddressList) 
          { 
           if (var.AddressFamily == AddressFamily.InterNetwork) 
           { 
            resolvIP = var; 
            isResolved = true; 
            break; 
           } 
          } 
         } 
        } 
       } 
       else 
       { 
        isResolved = true; 
       } 
      } 
      catch (Exception ex) 
      { 

      } 
      finally 
      { 
       resolvedIPAddress = resolvIP; 
      } 

      return isResolved; 
     } 
Questions connexes