Comment pouvez-vous obtenir dynamiquement l'adresse IP du serveur (PC auquel vous voulez vous connecter)?En C#, comment puis-je résoudre l'adresse IP d'un hôte?
Répondre
System.Dns.GetHostEntry peut être utilisé pour résoudre un nom à une adresse IP.
Vous souhaitez faire un nslookup.
Voici un exemple:
http://www.c-sharpcorner.com/UploadFile/DougBell/NSLookUpDB00112052005013753AM/NSLookUpDB001.aspx
IPHostEntry Host = Dns.GetHostEntry(DNSNameString);
DoSomethingWith(Host.AddressList);
Merci les gars pour votre aide, mais je veux obtenir l'adresse IP du visiteur pas le pc im de travail –
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
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.
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;
}
- 1. Comment résoudre l'hôte (seulement) en utilisant Boost.Asio?
- 2. Résoudre l'adresse IP au nom d'hôte en utilisant PHP
- 3. Comment obtenez-vous l'adresse IP principale de la machine hôte?
- 4. Différence entre la spécification IP dans le fichier hôte vs en utilisant IP directement
- 5. Comment changer une adresse IP en C++?
- 6. C# convertir hexadécimal en ip
- 7. Comment résoudre un nom de domaine à une adresse IP avec .NET/C#?
- 8. Comment récupérer l'adresse MAC d'un hôte étranger en C++
- 9. hôte Proxy C# problème
- 10. Comment faire un scan réseau-ip en C++?
- 11. Qui est un bon hôte pour un serveur de jeu TCP/IP en temps réel?
- 12. Comment puis-je résoudre ce problème impliquant BackgroundWorkers en C#?
- 13. Déterminer l'adresse IP d'une imprimante en C#
- 14. Plusieurs domaines à un hôte virtuel | Hôte générique (hébergement partagé)?
- 15. Comment numériser une plage IP C#
- 16. Quel hôte utiliser pour créer une socket UDP en python?
- 17. Comment résoudre ce problème bad_alloc?
- 18. Recherche d'un hôte avec adresse MAC en utilisant Python
- 19. Winforms Hôte C# dans les applications VB6
- 20. Comment obtenir l'adresse IP de boost :: asio :: ip :: tcp :: socket?
- 21. Hôte vs DnsSafeHost
- 22. Comment résoudre toutes les références d'entité en XML et créer un nouveau XML en C#?
- 23. Comment résoudre l'erreur synciwam.vbs 1B6?
- 24. comment coder un programme ip tracer dans c?
- 25. Impossible de résoudre DNS
- 26. Récupérer l'adresse IP du proxy C#
- 27. Comment résoudre cette exception WCF?
- 28. Création d'objet, comment résoudre "class-owner"?
- 29. hôte SilverLight/WCF
- 30. file_get_contents(): Aucun hôte est une erreur connue
À titre d'exemple, Ping.Send nécessite une IPAddress, donc pour le code de validation « serveur est en vie », il a besoin de traduction. –