c# 竟然取不到正确的客户端IP。。PHP/百度都正确了!!
http://www.baidu.com/s?wd=ip
PHP
都取对了。
c#取成了其它值。一点都不搭边啊。怎么回事呢?
private void GetIP(){
ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(ip == null || ip == "")ip = Request.ServerVariables["REMOTE_ADDR"];
if(ip == null || ip == "")ip = Request.UserHostAddress;
if(ip == null || ip == "")ip = "";
}
------解决方案--------------------ip=Request.ServerVariables["
REMOTE_ADDR"];
这样正确不?
------解决方案--------------------UserHostAddress 这个不就是取ip的吗?
------解决方案--------------------
你打开百度或其他,读取到肯定是你外网的IP。
你在本机发布的程序,在本机通过内网IP访问肯定读取不到外网IP。
------解决方案--------------------问题是你这个在哪里调用的?Request上下文是什么?
------解决方案--------------------
你贴出来看看。
------解决方案--------------------你取到的是不是内网或者VPN的ip?
------解决方案--------------------
-----------------
不是C#弱,而是你自己弱到掉渣,很明显字符串有问题。
------解决方案--------------------记有个含...Agent..的属性,不知有人知否?可以用一下。