问题描述
比如地址是:1.51.23.111/index.aspx没有域名怎么获取客户端ip地址///<summary>///获取远程访问用户的Ip地址///</summary>///<returns>返回Ip地址</returns>protectedstringGetIps(){stringloginip="";//Request.ServerVariables[""]--获取服务变量集合if(Request.ServerVariables["REMOTE_ADDR"]!=null)//判断发出请求的远程主机的ip地址是否为空{//获取发出请求的远程主机的Ip地址loginip=Request.ServerVariables["REMOTE_ADDR"].ToString();}//判断登记用户是否使用设置代理elseif(Request.ServerVariables["HTTP_VIA"]!=null){if(Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null){//获取代理的服务器Ip地址loginip=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();}else{//获取客户端IPloginip=Request.UserHostAddress;}}else{//获取客户端IPloginip=Request.UserHostAddress;}returnloginip;}这个代码只能获取服务器的ip地址,Request.UserHostAddress这句也是,但是如果把这代码放在有域名(www.baidu.com)的地方就可以获取到客户端ip地址了。那ip网址怎么获取客户端ip地址呢
解决方案
解决方案二:
没有遇到过类似问题,坐等大神解答
解决方案三:
publicstaticstringGetIPAddress(){stringipv4=String.Empty;foreach(IPAddressIPAinDns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress)){if(IPA.AddressFamily.ToString()=="InterNetwork"){ipv4=IPA.ToString();break;}}if(ipv4!=String.Empty){returnipv4;}foreach(IPAddressIPAinDns.GetHostAddresses(Dns.GetHostName())){if(IPA.AddressFamily.ToString()=="InterNetwork"){ipv4=IPA.ToString();break;}}returnipv4;}
试试这个。192.168.0.12/index.aspx访问我这个能获取IPwww.也能
解决方案四:
引用楼主ylwqhr的回复:
这个代码只能获取服务器的ip地址,Request.UserHostAddress这句也是,但是如果把这代码放在有域名(www.baidu.com)的地方就可以获取到客户端ip地址了。那ip网址怎么获取客户端ip地址呢
你这个代码要是能免费放到www.baidu.com,我给你一亿人民币。
解决方案五:
你还是要自己再整理一下自己的逻辑思路,自己先解决一些问题,再问。
解决方案六:
那个域名是举个例子啊这个代码只能获取服务器的ip地址,Request.UserHostAddress这句也是,但是如果把这代码放在有域名(www.sdfsd.com)或者域名绑定主机的地方就可以获取到客户端ip地址了。没有域名绑定主机的地址(比如:1.51.23.111/index.aspx)Request.UserHostAddress不能获取客户端ip,获取的是服务器ip有域名绑定主机的地址(比如:www.sfdsfdsdfsdsdfsdfsd.com/index.aspx)Request.UserHostAddress能获取客户端ip那那ip网址怎么获取客户端ip地址呢
解决方案七:
若域名ip非本地ip则可获取若为本机ip则无法获取
解决方案八:
引用3楼sp1234的回复:
Quote: 引用楼主ylwqhr的回复:
这个代码只能获取服务器的ip地址,Request.UserHostAddress这句也是,但是如果把这代码放在有域名(www.baidu.com)的地方就可以获取到客户端ip地址了。那ip网址怎么获取客户端ip地址呢你这个代码要是能免费放到www.baidu.com,我给你一亿人民币。
没有域名绑定主机的地址(比如:1.51.23.111/index.aspx)Request.UserHostAddress不能获取客户端ip,获取的是服务器ip有域名绑定主机的地址(比如:www.sfdsfdsdfsdsdfsdfsd.com/index.aspx)Request.UserHostAddress能获取客户端ip那那ip网址怎么获取客户端ip地址呢
解决方案:
试了很多不同的获取方法都不行
解决方案:
引用6楼rayyu1989的回复:
若域名ip非本地ip则可获取若为本机ip则无法获取
什么意思呢现在是用ip地址访问网站的没有域名呢而且以后也不会有域名
解决方案:
引用9楼ylwqhr的回复:
Quote: 引用6楼rayyu1989的回复:
若域名ip非本地ip则可获取若为本机ip则无法获取什么意思呢现在是用ip地址访问网站的没有域名呢而且以后也不会有域名
只要你访问的ip不是你本机的ip是可以获取到访问ip地址的,你是在本机调试代码吧试试把代码部署到线上或者部署到虚拟机里测试访问
解决方案:
看看那个大神解决那。
解决方案:
获取客户端IP地址和你用域名或者是IP访问的没有任何关系