大家好,今天给大家分享的是一个简单的知识获取登录用户的ip地址及城市信息,lz是一个小白,如果有哪些错误的地方 欢迎大家指出
东西很简单,直接上代码
[HttpPost] public string GetIP() { string loginip = ""; //Request.ServerVariables[""]--获取服务变量集合 if (Request.ServerVariables["REMOTE_ADDR"] != null) //判断发出请求的远程主机的ip地址是否为空 { //获取发出请求的远程主机的Ip地址 loginip = Request.ServerVariables["REMOTE_ADDR"].ToString(); } //判断登记用户是否使用设置代理 else if (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; } string ipv4 = String.Empty; foreach (IPAddress ipAddr in Dns.GetHostEntry(loginip).AddressList) { if (ipAddr.AddressFamily.ToString() == "InterNetwork") { ipv4 = ipAddr.ToString(); } } // return loginip; return ipv4; }
这个是后台代码 获取ip地址的
下面的是获取城市信息的js代码
//通过调用新浪IP地址库接口查询用户当前所在国家、省份、城市、运营商信息 $.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function (_result) { if (remote_ip_info.ret == '1') { console.log('国家:' + remote_ip_info.country + ' 省:' + remote_ip_info.province + ' 市:' + remote_ip_info.city + ' 区:' + remote_ip_info.district + ' ISP:' + remote_ip_info.isp + ' 类型:' + remote_ip_info.type + ' 其他:' + remote_ip_info.desc); } else { alert('没有找到匹配的IP地址信息!'); } });