Получить текущий IP-адрес клиента с помощью HTTP_X_FORWARDED_FOR? - PullRequest
0 голосов
/ 10 октября 2018

Мне нужно получить текущий IP-адрес пользователя, который загружает приложение. Я пытался использовать подобное. Это работает, но иногда он получает значение для HTTP_X_FORWARDED_FOR в этом формате 2405: 204: 71c7: d1b5 :: 1e9b: 90a5 .Iнужно получить адрес IPV4.

protected string GetIPAddress()
    {
        System.Web.HttpContext context = System.Web.HttpContext.Current;
        string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

        if (!string.IsNullOrEmpty(ipAddress))
        {
            string[] addresses = ipAddress.Split(',');
            if (addresses.Length != 0)
            {
                return addresses[0];
            }
        }
        return context.Request.ServerVariables["REMOTE_ADDR"];
    }
...