Member 14146669 Ответов: 3

Как получить ip-адрес клиента в javascript api C# web


мне нужен логин или активный ip - адрес пользователя с использованием javascript, ajax, c# или API.
я пытаюсь
string clientAddress = HttpContext.Current.Request.UserHostAddress;


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

"address"

string clientAddress = HttpContext.Current.Request.UserHostAddress;

F-ES Sitecore

Это один из самых часто задаваемых вопросов, пожалуйста, сделайте поиск в google, прежде чем задавать вопрос.

3 Ответов

Рейтинг:
21

Member 11882351

public class SampleController : ApiController
   {
       //http://localhost:54250/API/Sample

       public string GetName()
       {
           return GetLoginUserIP();
          // return employee;
       }



       private string GetLoginUserIP(HttpRequestMessage request = null)
       {
           request = request ?? Request;

           if (request.Properties.ContainsKey("MS_HttpContext"))
           {
               return ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
           }
           else if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
           {
               RemoteEndpointMessageProperty prop = (RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name];
               return prop.Address;
           }
           else if (HttpContext.Current != null)
           {
               return HttpContext.Current.Request.UserHostAddress;
           }
           else
           {
               return null;
           }
       }

   }


Рейтинг:
2

MadMyche

Хозяин как правило, это сервер, то, что вы хотите, будет находиться в коллекции ServerVariables.
Одно из предостережений при использовании этого метода заключается в том, что здесь будут появляться прокси и форвардеры, поэтому вы можете проверить наличие заголовка "x-forwarded-for" и работать через него (несколько прокси добавят несколько адресов)

string clientAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];


Рейтинг:
0

Marc Clifton

Я искал это на прошлой неделе. Под "локальным IP" я предполагаю, что вы имеете в виду фактический локальный IP-адрес, а не адрес маршрутизатора. Нашел эти ссылки для получения локального IP на стороне клиента:

https://stackoverflow.com/questions/391979/how-to-get-clients-ip-address-using-javascript/45549790

Как получить IP-адрес клиента только с помощью Javascript | наш кодовый мир[^]


Member 14146669

мне нужен публичный ip-адрес. используя ваш код, я получаю частный ip-адрес.