asp.net 获取客户端浏览器访问的IP地址的实例代码
本文介绍了asp.net获取客户端浏览器访问的IP地址的实例代码,分享给大家,自己也留个笔记
1、js方法
Document document.write('IP地址:'+returnCitySN["cip"]+',城市编码:'+returnCitySN["cid"]+',地区:'+returnCitySN["cname"]);
2、后台代码实现
#regionIP地址限制功能2017-07-18 ////// /// ///publicboolIsIPValidate() { boolflag=false; stringuserip=GetLoginIp(); string[]addr=GetAddressByIp(userip); stringaddrs=addr[0]+addr[1]; if("北京".Equals(addr[0])||"北京".Equals(addr[1])) { flag=true; } returnflag; } /// ///获取远程访问用户的Ip地址 /// ///返回Ip地址 protectedstringGetLoginIp() { 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 { //获取客户端IP loginip=Request.UserHostAddress; } } else { //获取客户端IP loginip=Request.UserHostAddress; } returnloginip; } //////根据IP获取省市 /// publicstring[]GetAddressByIp(stringip) { stringPostUrl="http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip="+ip; stringres=GetDataByPost(PostUrl);//该条请求返回的数据为:res=1t115.193.210.0t115.194.201.255t中国t浙江t杭州t电信 string[]arr=getAreaInfoList(res); returnarr; } //////Post请求数据 /// ////// publicstringGetDataByPost(stringurl) { HttpWebRequestreq=(HttpWebRequest)WebRequest.Create(url); strings="anything"; byte[]requestBytes=System.Text.Encoding.ASCII.GetBytes(s); req.Method="POST"; req.ContentType="application/x-www-form-urlencoded"; req.ContentLength=requestBytes.Length; StreamrequestStream=req.GetRequestStream(); requestStream.Write(requestBytes,0,requestBytes.Length); requestStream.Close(); HttpWebResponseres=(HttpWebResponse)req.GetResponse(); StreamReadersr=newStreamReader(res.GetResponseStream(),System.Text.Encoding.Default); stringbackstr=sr.ReadToEnd(); sr.Close(); res.Close(); returnbackstr; } /// ///处理所要的数据 /// ////// publicstaticstring[]getAreaInfoList(stringipData) { //1t115.193.210.0t115.194.201.255t中国t浙江t杭州t电信 string[]areaArr=newstring[10]; string[]newAreaArr=newstring[2]; try { //取所要的数据,这里只取省市 areaArr=ipData.Split('t'); newAreaArr[0]=areaArr[4];//省 newAreaArr[1]=areaArr[5];//市 } catch(Exceptione) { } returnnewAreaArr; } #endregion
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。