C#获取外网IP

思路是通过WebRequest连接一些网上提供IP查询服务的网站,下载到含有你的IP的网页,然后用正则表达式提取出IP来

 

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(GetExportIP());

            Console.ReadKey();
        }

        public static string GetExportIP() 
        {
            //获取外部IP
            string strUrl = "http://www.ip.cn/getip.php?action=getip&ip_url=&from=web";
            //string strUrl = "http://216.157.85.151/getip.php?action=getip&ip_url=&from=web";
            Uri uri = new Uri(strUrl);
            WebRequest webreq = WebRequest.Create(uri);
            Stream s = webreq.GetResponse().GetResponseStream();
            StreamReader sr = new StreamReader(s, Encoding.Default);
            string all = sr.ReadToEnd();
            all = Regex.Replace(all,@"(\d+)","000$1");
            all = Regex.Replace(all, @"0+(\d{3})", "$1");
            string reg = @"(\d{3}\.\d{3}\.\d{3}\.\d{3})";
            Regex regex = new Regex(reg);
            Match match = regex.Match(all);
            string ip = match.Groups[1].Value;
            return Regex.Replace(ip,@"0*(\d+)","$1");
        }
    }

  

 
 

 

转载于:https://www.cnblogs.com/liqipeng/p/4576158.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值