Próbowałem już Request.UserHostAddress;
, ale kontroler API nie ma UserHostAddress wewnątrz żądania.Jak uzyskać adres IP użytkownika w ASP.NET Kontroler API MVC
Odpowiedz
IP = ((HttpContextBase)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
Według this, pełniejszy sposób byłoby:
private string GetClientIp(HttpRequestMessage request)
{
if (request.Properties.ContainsKey("MS_HttpContext"))
{
return ((HttpContext)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
}
else if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
RemoteEndpointMessageProperty prop;
prop = (RemoteEndpointMessageProperty)this.Request.Properties[RemoteEndpointMessageProperty.Name];
return prop.Address;
}
else
{
return null;
}
}
W przeszłości na MVC 3 projektów (nie API,) zwykliśmy używać następujących:
string IPAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (String.IsNullOrEmpty(IPAddress))
IPAddress = Request.ServerVariables["REMOTE_ADDR"];
Skończyłem robić trochę dodatkowych badań, ponieważ to było dziwne, że możesz odebrać nagłówek żądania w zmiennej serwerowej. context.Request.ServerVariables ["HTTP_X_FORWARDED_FOR"] zbiera informacje o odebraniu nagłówka żądania X-Forward-For wysłanego przez serwery proxy i moduły równoważenia obciążenia. – muglio
Korzystam z następującego kodu i to działa dla mnie ....
string ipAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
Podaje adres hosta –
- 1. jak uzyskać adres IP użytkownika w mvc
- 2. Jak uzyskać adres IP klienta/użytkownika?
- 3. Uzyskaj adres IP użytkownika
- 4. Jak uzyskać adres IP serwera/witryny w asp.net?
- 5. Jak uzyskać adres IP użytkownika za pomocą .net?
- 6. Function, aby uzyskać adres IP użytkownika
- 7. Jak wyodrębnić adres IP w Spring MVC Controller uzyskać połączenie?
- 8. Jak uzyskać adres IP z żądania w ASP.NET?
- 9. Jak uzyskać adres IP klienta?
- 10. Jak uzyskać adres IP serwera?
- 11. WICKET: jak uzyskać adres IP/adres IP klienta
- 12. Uzyskaj adres IP użytkownika w strukturze Zend
- 13. Jak uzyskać dynamiczny kontroler i metodę działania w ASP.NET MVC?
- 14. Kontroler asynchroniczny w ASP.NET MVC
- 15. Jak zablokować adres IP lub klasy IP w ASP.NET
- 16. Jak uzyskać adres IP węzła erlang?
- 17. Jak uzyskać adres IP peera w azocie
- 18. Jak uzyskać adres URL strony odsyłającej w działaniu ASP.NET MVC?
- 19. ASP.NET MVC 3 _Layout.cshtml Kontroler
- 20. Jak utworzyć adres URL ASP.NET Web API?
- 21. Warunkowo wyłączyć kontroler ASP.NET MVC
- 22. Adres IP klienta w ASP.NET (.asmx) webservices
- 23. Jak uzyskać adres IP serwera aplikacji?
- 24. Rest - jak uzyskać adres IP dzwoniącego
- 25. Szyny - jak uzyskać adres IP odwiedzającego?
- 26. Jak uzyskać adres IP z sockaddr
- 27. Jak uzyskać adres IP od $ SSH_CLIENT
- 28. Jak uzyskać adres IP klienta pulpitu zdalnego?
- 29. Jak uzyskać adres IP boost :: asio :: ip :: tcp :: socket?
- 30. Kontroler ASP.Net MVC 4 Web API nie współpracuje z Unity.WebApi
Przepraszam, byłem zdezorientowany. Sprawdź to inne pytanie: http://stackoverflow.com/questions/9565889/get-the-ip-address-of-the-remote-host –