Ich versuche, die Client-Computerinformationen für Zugriffsprotokoll zu erhalten. Wie bekomme ich den Client-Gerätenamen und die IP-Adresse in ASP.NET/C#?Wie bekomme ich Client-Geräteinformationen in ASP.NET/C#?
Antwort
Sie können die direkte Client-IP vom Request.UserHostAddress
Eigentum:
public ActionResult Index()
{
string ip = Request.UserHostAddress;
...
}
Nachdem dies gesagt ist, gibt es viele Situationen, in denen dies nicht gut genug sein könnte. Angenommen, Ihr Webserver befindet sich hinter einem Reverse-Proxy wie z. B. nginx oder HAProxy. In diesem Fall gibt UserHostAddress
immer die IP dieses Proxys zurück. Wenn Sie möchten, dass die ursprüngliche Client-IP-Adresse in dieser Situation erhalten Sie die Standard X-Forwarded-For
Request-Header, die diese Reverse-Proxy-Server könnte gesetzt verwenden:
string ip = Request.Headers["X-Forwarded-For"];
Beachten Sie auch, dass, wenn die Anfrage geht durch viele Proxy-Server, dann ist die X-Forwarded-For
Header wird eine durch Kommata getrennte Liste von IP-Adressen jedes Proxy-Server repräsentieren:
X-Forwarded-For: client, proxy1, proxy2
Sie könnten für diese Situation berücksichtigen müssen, und wenn Sie die IP-Adresse erhalten möchten, die dann am nächsten oder gleich dem Client ist, dass Sie sollte die ganz linke Adresse aus dieser Liste extrahieren.
Soweit es den "Client Device Name" betrifft, ist keine solche Idee in das TCP/HTTP-Protokoll eingebaut, so dass Ihr Client es möglicherweise mit einem benutzerdefinierten Header oder Parameter liefern muss, wenn Sie abrufen möchten es auf dem Server.
- 1. Wie bekomme ich in Mailkit?
- 2. Wie bekomme ich Instanznummer
- 3. Wie bekomme ich FlipClock?
- 4. Wie bekomme ich ApplicationController?
- 5. Wie bekomme ich Header?
- 6. Wie bekomme ich System.Web.Http.Owin?
- 7. Wie bekomme ich Hittyp?
- 8. Wie bekomme ich GenieACS?
- 9. Wie bekomme ich CCTray
- 10. Wie bekomme ich Butterknife?
- 11. Wie bekomme ich GetCustomAttributes?
- 12. Wie bekomme ich BigDecimalScale?
- 13. Wie bekomme ich Daten?
- 14. Wie bekomme ich Integer?
- 15. Wie bekomme ich Pfeilfunktionen?
- 16. Wie bekomme ich sal.h
- 17. Wie bekomme ich xjc?
- 18. Wie bekomme ich gängige Dateitypicons in C#?
- 19. Wie bekomme ich JSON-Daten in PHP?
- 20. Wie bekomme ich iPad Bildschirmbreite in Javascript
- 21. Wie bekomme ich den Benutzernamen in Python?
- 22. Wie bekomme ich Konsoleneingabe in Javascript?
- 23. Wie bekomme ich die Keycodes in Python
- 24. Wie bekomme ich Befehlsausgabe in NSIS?
- 25. Wie bekomme ich aktuelle Bildschirmdetails in javafx?
- 26. Wie bekomme ich JAD-Dateiinformationen in Blackberry?
- 27. Wie bekomme ich den Zeitunterschied in Millisekunden
- 28. Wie bekomme ich stdout in Console.app
- 29. Wie bekomme ich die Dateinamenerweiterung in MySQL?
- 30. Wie bekomme ich den Anwendungsnamen in Laravel?
In diesem Beitrag erfahren Sie, wie Sie die öffentliche IP-Adresse des Benutzers abrufen können: http://stackoverflow.com/a/19286308/3126771. Was meinst du mit "Client-Gerät"? Sprechen Sie von Browser-Agent? – Arun