C#根据IP地址查询所属地区实例详解
ip-api.com接口(解析json需要引入Newtonsoft.Json.dll):
//////根据IP获取物理地址 /// ///Ip地址 /// publicstaticstringGetIpAddress(stringip) { stringurl="http://ip-api.com/json/"+ip+"?lang=zh-CN"; stringresult=""; WebRequestwrt=null; WebResponsewrp=null; try { wrt=WebRequest.Create(url); wrt.Credentials=CredentialCache.DefaultCredentials; wrp=wrt.GetResponse(); StreamReadersr=newStreamReader(wrp.GetResponseStream(),Encoding.UTF8); //获取到的是Json数据 stringhtml=sr.ReadToEnd(); //Newtonsoft.Json读取数据 JObjectobj=JsonConvert.DeserializeObject (html); stringcity=obj["city"].ToString(); stringprovince=obj["regionName"].ToString(); result=city.Equals(province)?city:(province+city); } catch(Exception) { } finally { if(wrp!=null) wrp.Close(); if(wrt!=null) wrt.Abort(); } returnresult; }
126.net接口:
//////根据IP获取物理地址 /// ///Ip地址 /// publicstaticstringGetstringIpAddress(stringip) { stringurl="http://ip.ws.126.net/ipquery?ip="+ip; stringresult=""; WebRequestwrt=null; WebResponsewrp=null; try { wrt=WebRequest.Create(url); wrt.Credentials=CredentialCache.DefaultCredentials; wrp=wrt.GetResponse(); StreamReadersr=newStreamReader(wrp.GetResponseStream(),Encoding.Default); //获取到的数据格式:varlo="江苏省",lc="镇江市";varlocalAddress={city:"镇江市",province:"江苏省"} stringhtml=sr.ReadToEnd(); stringpattern="{city:\"(? .*?)\",province:\"(? .*?)\"}"; Regexregex=newRegex(pattern,RegexOptions.None); Matchmatch=regex.Match(html); stringcity=match.Groups["key1"].Value; stringprovince=match.Groups["key2"].Value; result=city.Equals(province)?city:(province+city); } catch(Exception) { } finally { if(wrp!=null) wrp.Close(); if(wrt!=null) wrt.Abort(); } returnresult; }
到此这篇关于C#根据IP地址查询所属地区实例详解的文章就介绍到这了,更多相关C#根据IP地址查询所属地区内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。