Wie erhalte ich die IP-Adresse des Servers, der meine ASP.NET-Seite aufruft? Ich habe Sachen über ein Response-Objekt gesehen, bin aber bei C# sehr neu. Danke vielmals.Abrufen der IP-Adresse des Servers in ASP.NET?
Antwort
Dies sollte funktionieren:
//this gets the ip address of the server pc
public string GetIPAddress()
{
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName()); // `Dns.Resolve()` method is deprecated.
IPAddress ipAddress = ipHostInfo.AddressList[0];
return ipAddress.ToString();
}
http://wec-library.blogspot.com/2008/03/gets-ip-address-of-server-pc-using-c.html
ODER
//while this gets the ip address of the visitor making the call
HttpContext.Current.Request.UserHostAddress;
http://www.geekpedia.com/KB32_How-do-I-get-the-visitors-IP-address.html
Die oben ist langsam, da es einen DNS-Aufruf erfordert (und offensichtlich nicht funktionieren, wenn eine ist nicht verfügbar). Sie können den Code verwenden, unten eine Karte des aktuellen PCs lokalen IPv4-Adressen mit den entsprechenden Subnetz-Maske zu erhalten:
public static Dictionary<IPAddress, IPAddress> GetAllNetworkInterfaceIpv4Addresses()
{
var map = new Dictionary<IPAddress, IPAddress>();
foreach (var ni in NetworkInterface.GetAllNetworkInterfaces())
{
foreach (var uipi in ni.GetIPProperties().UnicastAddresses)
{
if (uipi.Address.AddressFamily != AddressFamily.InterNetwork) continue;
if (uipi.IPv4Mask == null) continue; //ignore 127.0.0.1
map[uipi.Address] = uipi.IPv4Mask;
}
}
return map;
}
Warnung: Das in Mono nicht implementiert ist noch
Und ... mit diesem Code ... Wie überprüfen Sie, welcher Server eine Site ausführt? Ich denke ... Ich habe einen Produktions- und einen Replikationsserver, wie speichere ich die IP oder ips, um zu überprüfen, welches der Server ist? –
Ich denke, dass diese Antwort in die richtige Richtung geht. Server können mehrere Netzwerkadapter haben, und nur der Hostname kann je nach Serverkonfiguration falsche Informationen liefern. Die anderen Antworten können und werden in manchen Situationen funktionieren, aber dies ist die Antwort, die Sie dazu bringt, besser zu denken und Ihre Umgebung zu verstehen. – Nick
//this gets the ip address of the server pc
public string GetIPAddress()
{
string strHostName = System.Net.Dns.GetHostName();
//IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); <-- Obsolete
IPHostEntry ipHostInfo = Dns.GetHostEntry(strHostName);
IPAddress ipAddress = ipHostInfo.AddressList[0];
return ipAddress.ToString();
}
Request.ServerVariables["LOCAL_ADDR"];
Dies gibt die IP die Anforderung für multi-homed Server
Dies ist auch die effizienteste und stabilste Methode. Wenn Sie '' 'System.Net verwenden.Dns''' du machst es falsch. –
Genauer gesagt: System.Web.HttpContext.Current.Request.ServerVariables ["LOCAL_ADDR"]; –
in angingen Dies funktioniert für IPv 4:
public static string GetServerIP()
{
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress address in ipHostInfo.AddressList)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
return address.ToString();
}
return string.Empty;
}
- 1. SQL - Abfrage zum Abrufen der IP-Adresse des Servers
- 2. Komplettes Dateisystem des Servers anzeigen und Pfad der Ordner abrufen
- 3. Datum des MongoDB-Servers mit dem Knoten js abrufen
- 4. Wie kann ich die Zeitzone des lokalen Servers abrufen?
- 5. Abrufen von IllegalStateException beim Starten des Grpc-Servers
- 6. Abrufen des Dateipfads in ASP.NET und XDocument.Load
- 7. Wie kann ich die Ortszeit des Benutzers anstelle der Zeit des Servers abrufen?
- 8. Deklarieren der ServeHTTP-Methode des Go-Servers
- 9. Ändern des OBIEE-Servers
- 10. ASP.NET-Anwendung kann nicht mithilfe des IIS-Servers implementiert werden
- 11. ASP.NET MVC - Abrufen des Anmeldestatus eines Benutzers
- 12. Beschleunigung des Starts des Weblogic Servers
- 13. Swift - Antwort des Servers "unsupported_grant_type"
- 14. Antwort des Servers auf Polymereigenschaftswerte
- 15. Ändern des Namens des Servers bei Verbindungszeichenfolge
- 16. Asp.NET/VB.NET: Abrufen des Pfades von der URL/URI?
- 17. Die Sprache der Fehlermeldungen des PostgresSQL-Servers in Englisch ändern
- 18. Fehler bei der Segmentierung der Rails beim Starten des Servers?
- 19. Abrufen der RAW-Anforderung in ASP.NET MVC
- 20. Abrufen der Sitzung ordnungsgemäß in ASP.NET
- 21. In welchen Zertifikatsspeicher sollten wir die Zertifikate des Servers setzen
- 22. Abrufen des Ordnernamens der Datei in Python
- 23. Abrufen der Zeilennummer des Speicherorts in NSString
- 24. Leistung. Abrufen des Dateistatus in der Sandbox
- 25. Abrufen des Vorlagennamens in der Django-Vorlage
- 26. Abrufen des Spaltennamens in der CSV-Datei
- 27. Abrufen des Dateinamens der Hochladedatei in SQL
- 28. Abrufen des ausgewählten Elements in der Liste
- 29. ändern Bildschirmauflösung des Servers, der Roboter-Framework-Tests von Jenkins
- 30. RethinkDB Datenverlust nach Neustart des Servers
Diese zwei Codeblöcke machen ganz andere Dinge. – Martin
Was ist der Unterschied? – jergason
Der oberste Codeblock ruft die IP-Adresse des Servers ab, auf dem der Code ausgeführt wird. Der untere Codeblock erhält die IP-Adresse des Besuchers, der die Anfrage stellt. – Martin