本人在做微信开发的时候.
用HttpContext.Current.Request.ServerVariables[“REMOTE_ADDR”]取出来的值和实际的ip不对应
本人确定 手机中没有用代理。
那倒底是 微信浏览器的问题,还是HttpContext.Current.Request.ServerVariables[“REMOTE_ADDR”]的问题?
头晕得很呢!
用HttpContext.Current.Request.ServerVariables[“REMOTE_ADDR”]取出来的值和实际的ip不对应
本人确定 手机中没有用代理。
那倒底是 微信浏览器的问题,还是HttpContext.Current.Request.ServerVariables[“REMOTE_ADDR”]的问题?
头晕得很呢!
解决方案
20
是你获取IP的方式有问题
/// <summary> /// 获取请求IP /// </summary> /// <param name="request">请求对象</param> /// <returns>真实请求IP</returns> public static string GetRequestIP(HttpRequest request) { string result = request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (!String.IsNullOrEmpty(result)) { if (result.IndexOf(".") == -1) return null; if (result.IndexOf(",") == -1) return result; return result.Split(",").FirstOrDefault(i => !i.StartsWith("192.168") && !i.StartsWith("10") && !i.StartsWith("172.16")); } result = request.ServerVariables["REMOTE_ADDR"]; return !String.IsNullOrEmpty(result) ? result : request.UserHostAddress; }