GaneshBodke11 Ответов: 2

Найти ip-адрес клиентской/пользовательской машины


У меня есть веб-api в asp.net mvc. По почтовому запросу я хочу получить ip-адрес машины клиента/пользователя. Я попробовал следовать коду,но получил ip - адрес сервера. Пожалуйста помочь

Что я уже пробовал:

HttpContext.Current.Request.UserHostAddress;



string ip5 = HttpContext.Current.Request.Params["HTTP_CLIENT_IP"] ?? HttpContext.Current.Request.UserHostAddress;




ip7 = HttpContext.Current.Request.UrlReferrer.ToString();



string ip10 = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
              if (ip10 != null || ip10 != String.Empty)
              {
                  ip10 = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
              }

2 Ответов

Рейтинг:
5

F-ES Sitecore

Это очень часто задаваемый вопрос, и если бы вы погуглили его перед публикацией, то нашли бы ответ, что вы не можете получить IP-адрес клиентской машины, а только ту машину, с которой пришел запрос (например, прокси-сервер). Если код, который вы используете, возвращает IP-адрес сервера, то есть что-то в вашей настройке, о чем Вы нам не говорите, например, сервер, действующий как прокси-сервер для клиентов.


Рейтинг:
18

Member 7870345

Привет:
Я использую

HttpContext.Current.Request.UserHostAddress;
в моем приложении и это работает нормально.
Возможно, в коде, где вы обрабатываете сообщение, есть еще места, где вы назначаете ip-адрес машины клиента. Точка останова и проверьте значение HttpContext.Current.Запрос.UserHostAddress может вам помочь.