C#根据第三方提供的IP查询服务获取公网外网IP地址
C#根据第三方提供的IP查询服务获取公网外网IP地址
C# Code: /// <summary> /// C#根据第三方提供的IP查询服务获取公网外网IP地址 /// </summary> /// <returns></returns> public static string GetInterNetIPFromAPI() { //测试OK, 此接口查询速度最快 var html2 = HttpGetPageHtml("http://www.net.cn/static/customercare/yourip.asp", "gbk"); var ip2 = GetIPFromHtml(html2); if (!String.IsNullOrEmpty(ip2)) return ip2; //测试OK var html1 = HttpGetPageHtml("https://www.ip.cn", "utf-8"); var ip1 = GetIPFromHtml(html1); if (!String.IsNullOrEmpty(ip1)) return ip1; //测试失败,不提供查询服务,需要购买api服务 var html3 = HttpGetPageHtml("http://www.ip138.com/ips138.asp", "gbk"); var ip3 = GetIPFromHtml(html3); if (!String.IsNullOrEmpty(ip3)) return ip3; return ""; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 C# Code: /// <summary> /// 获取页面html /// </summary> /// <param name="url">请求的地址</param> /// <param name="encoding">编码方式</param> /// <returns></returns> private static string HttpGetPageHtml(string url, string encoding) { string pageHtml = string.Empty; try { using (WebClient MyWebClient = new WebClient()) { Encoding encode = Encoding.GetEncoding(encoding); MyWebClient.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"); MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据 Byte[] pageData = MyWebClient.DownloadData(url); //从指定网站下载数据 pageHtml = encode.GetString(pageData); } } catch (Exception e) { } return pageHtml; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 C# Code: /// <summary> /// 从html中通过正则找到ip信息(只支持ipv4地址) /// </summary> /// <param name="pageHtml"></param> /// <returns></returns> private static string GetIPFromHtml(String pageHtml) { //验证ipv4地址 string reg = @"(?:(?:(25[0-5])|(2[0-4]\d)|((1\d{2})|([1-9]?\d)))\.){3}(?:(25[0-5])|(2[0-4]\d)|((1\d{2})|([1-9]?\d)))"; string ip = ""; Match m = Regex.Match(pageHtml, reg); if (m.Success) { ip = m.Value; } return ip; } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加微信
参考文档:
使用的第三方控件都有哪些?控件是否有版权问题? 这套框架使用那些第三方组件? C# 从注册表获取Windows服务的文件路径 C#获取内网和外网IP C#.NET IP地址正则表达式验证 WebApi服务器对IP地址黑名单限制 从HttpRequestMessage对象获取IP地址 C#.NET IP地址工具类WebAPI服务器使用 C# 百度地图坐标获取详细地址 C#获取本地的IP地址 C# 获取宽带连接(PPPOE拨号)的IP地址 ASP.NET通过HttpContext获取IP地址 C# NavBarControl根据鼠标点击位置获取 NavBarGroup 对象 软件开发与设计 - MIS-管理信息系统-微信营销系统(第三方微信平台) C#源码-微信营销系统(第三方微信平台)C#完整源代码-源码下载
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |