在WebAPI中获取所请求客户端的IP地址

时间:2017-07-04 09:35:50

标签: c# .net asp.net-mvc asp.net-web-api

我使用下面的代码尝试了相同的操作。由于我使用Postman从本地计算机上测试了我的代码,因此结果仍为::1,部署后的结果为null

private string GetIPAddress()
 {
   HttpContext context = 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"];
        }

0 个答案:

没有答案