关于获取ip地址问题。
获取当前用户本机的ip地址。
网址发布到服务器后,怎么获取访问网站的当前用户本机的ip啊?
IPHostEntry oIPHost = Dns.Resolve(Environment.MachineName);
if (oIPHost.AddressList.Length > 0)
{
string strHostIP = oIPHost.AddressList[0].ToString();
}这个取到的是服务器的ip地址。
public static string GetClientIp()
{
string l_ret = string.Empty;
if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"]))
l_ret = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]);
if (string.IsNullOrEmpty(l_ret))
l_ret = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);
return l_ret;
}
这个取到的是外网的网址的ip。
------解决方案--------------------web端估计要写activex插件了吧 。
即使你能获取到.如果访问者使用代理或者多层代理 。你也无法获取用户真实IP
------解决方案--------------------应该是被路由了
ip是Request发过来的,发什么过来就只能读什么
你把判断取消,看看servervariables里面那个是或者像
------解决方案--------------------
你看下老系统是怎么获取的,照他做一遍