您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

2026-03-31 11:261阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计392个文字,预计阅读时间需要2分钟。

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

csharp// ip-api.com接口(解析+json,需要引入Newtonsoft.Json.dll)/// /// 根据IP地址获取物理地址/// /// IP地址/// 返回物理地址public static string GetIpAddress(string ip){ string url=http://ip-api.com/json/; // TODO: 实现调用接口和解析JSON}

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 = "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 = "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地址查询所属地区内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

本文共计392个文字,预计阅读时间需要2分钟。

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

csharp// ip-api.com接口(解析+json,需要引入Newtonsoft.Json.dll)/// /// 根据IP地址获取物理地址/// /// IP地址/// 返回物理地址public static string GetIpAddress(string ip){ string url=http://ip-api.com/json/; // TODO: 实现调用接口和解析JSON}

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 = "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 = "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地址查询所属地区内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。