时间:2021-05-20
ip-api.com接口(解析 json需要引入Newtonsoft.Json.dll ):
/// <summary> /// 根据IP 获取物理地址 /// </summary> /// <param name="ip">Ip地址</param> /// <returns></returns> public static string GetIpAddress(string ip) { string url = "http://ip-api.com/json/"+ip+"?lang=zh-CN"; string result = ""; WebRequest wrt = null; WebResponse wrp = null; try { wrt = WebRequest.Create(url); wrt.Credentials = CredentialCache.DefaultCredentials; wrp = wrt.GetResponse(); StreamReader sr = new StreamReader(wrp.GetResponseStream(), Encoding.UTF8); //获取到的是Json数据 string html = sr.ReadToEnd(); //Newtonsoft.Json读取数据 JObject obj = JsonConvert.DeserializeObject<JObject>(html); string city = obj["city"].ToString(); string province = obj["regionName"].ToString(); result = city.Equals(province) ? city : (province + city); } catch (Exception) { } finally { if (wrp != null) wrp.Close(); if (wrt != null) wrt.Abort(); } return result; }126.net接口:
/// <summary> /// 根据IP 获取物理地址 /// </summary> /// <param name="ip">Ip地址</param> /// <returns></returns> public static string GetstringIpAddress(string ip) { string url = "http://ip.ws.126.net/ipquery?ip="+ip; string result=""; WebRequest wrt = null; WebResponse wrp = null; try { wrt = WebRequest.Create(url); wrt.Credentials = CredentialCache.DefaultCredentials; wrp = wrt.GetResponse(); StreamReader sr = new StreamReader(wrp.GetResponseStream(), Encoding.Default); //获取到的数据格式:var lo="江苏省", lc="镇江市"; var localAddress={city:"镇江市", province:"江苏省"} string html = sr.ReadToEnd(); string pattern = "{city:\"(?<key1>.*?)\", province:\"(?<key2>.*?)\"}"; Regex regex = new Regex(pattern, RegexOptions.None); Match match = regex.Match(html); string city=match.Groups["key1"].Value; string province=match.Groups["key2"].Value; result = city.Equals(province) ? city : (province + city); } catch (Exception) { } finally { if (wrp != null) wrp.Close(); if (wrt != null) wrt.Abort(); } return result; }到此这篇关于C#根据IP地址查询所属地区实例详解的文章就介绍到这了,更多相关C#根据IP地址查询所属地区内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
实例01实现一个简单的Web服务访问本实例将实现IP地址查询接口服务,根据用户传入的IP地址返回IP所在的省、市、地区,实例中将会用到IP地址库用于查询信息,由
本文实例讲述了C#使用有道ip地址查询接口方法。分享给大家供大家参考。具体实现方法如下:#region读取http:///smartresult-xml/sea
本文实例讲述了C#常用正则验证函数。分享给大家供大家参考,具体如下:1、Ip地址验证//////Ip地址验证///publicstaticboolCheckIp
本文实例讲述了C#编程获取IP地址的方法。分享给大家供大家参考,具体如下:1、获取客户端IP//////获取客户端Ip//////publicStringGet
本文实例讲述了C#实现获取本地内网(局域网)和外网(公网)IP地址的方法。分享给大家供大家参考,具体如下:1、获取本机的IP地址集合://////获取本机所有i