获取内网IP

代码

通过外部网站返回得到内网外部IP

C#版

static string GetIP()
{
    Uri             uri = new Uri("http://www.ikaka.com/ip/index.asp");
    System.Net.HttpWebRequest  req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
    req.Method          = "POST";
    req.ContentType     = "application/x-www-form-urlencoded";
    req.ContentLength   = 0;
    req.CookieContainer = new System.Net.CookieContainer();
    req.GetRequestStream().Write(new byte [0], 0, 0);
    System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)(req.GetResponse());
    StreamReader    rs  = new StreamReader(res.GetResponseStream(), System.Text.Encoding.GetEncoding("GB18030"));
    string          s   = rs.ReadToEnd();
    rs.Close();
    req.Abort();
    res.Close();
    System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]");
    if (m.Success) return m.Groups["IP"].Value;
    return string.Empty;
}

VB.NET 版

Function GetIP() As String 
        Dim Cookies As Net.CookieContainer = Nothing 
        Dim httpurl As String = "http://www.ikaka.com/ip/index.asp" 
        Dim code As String = "GB2312" 
        Dim Url As New System.Uri(httpurl) 
        Dim SomeByte() As Byte = System.Text.Encoding.ASCII.GetBytes("") 
        Dim req As Net.HttpWebRequest = CType(Net.WebRequest.Create(Url), Net.HttpWebRequest) 
        req.Method = "POST" 
        req.ContentType = "application/x-www-form-urlencoded" 
        req.ContentLength = 0 
 
        If Not (Cookies Is Nothing) Then 
            req.CookieContainer = Cookies 
        Else 
            req.CookieContainer = New Net.CookieContainer 
            Cookies = req.CookieContainer 
        End If 
        req.GetRequestStream.Write(SomeByte, 0, SomeByte.Length) 
        Dim res As Net.HttpWebResponse = CType(req.GetResponse, Net.HttpWebResponse) 
        Dim ReadStream As IO.StreamReader = New IO.StreamReader(res.GetResponseStream, System.Text.Encoding.GetEncoding(code)) 
        Dim strLine As String 
        Dim getstr As String 
        Do 
            strLine = ReadStream.ReadLine 
            getstr &= strLine & vbCrLf 
        Loop Until strLine Is Nothing 
        ReadStream.Close() 
        req.Abort() 
        res.Close() 
        Dim reg As New System.Text.RegularExpressions.Regex("<span class=""en"">IP:\[(?<ipstr>.*)?\]\s*</span>", System.Text.RegularExpressions.RegexOptions.IgnoreCase) 
        Dim m As System.Text.RegularExpressions.Match 
        m = reg.Match(getstr) 
        If m.Success Then Return m.Groups("ipstr").Value.ToString 
    End Function

转载于:https://www.cnblogs.com/sofire/archive/2010/06/19/1760908.html

获取内网、通过外部网站返回得到内网外部IP (C#/VB.NET)相关推荐

  1. HTML5期末大作业:官网时尚购物(网站设计——美丽说官网时尚购物(1页) HTML+CSS+JavaScript 网页设计成品DW静态网页Html5响应式css3

    HTML5期末大作业:官网时尚购物(网站设计--美丽说官网时尚购物(1页) HTML+CSS+JavaScript 网页设计成品DW静态网页Html5响应式css3 常见网页设计作业题材有 个人. 美 ...

  2. 一个手机用c网可以打开网站切换到g网就打不开_推荐7个鲜为人知的搜索网站,让人眼前一亮...

    1:奇异书屋 https://www.talebook.org/ 奇异书屋是一个简洁清新并且不可不多的高质量电子书籍搜索网站. 它提供将近 2W 本电子书籍,并且按照作者和标签详细分类,其中书籍标签包 ...

  3. python内置函数用来返回_Python内置函数用法

    1.Python raw_input()函数 作用: raw_input() 用来获取控制台的输入,将所有输入作为字符串看待,返回字符串类型. 注意: input() 和 raw_input() 这两 ...

  4. python内置函数用来返回_python内置函数2

    37.locals() 函数会以字典类型返回当前位置的全部局部变量 locals() >>>def runoob(arg): # 两个局部变量:arg.z ... z = 1 ... ...

  5. python内置函数用来返回_Python内置函数

    1.abs() 函数返回数字的绝对值. 2.all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否不为 0.''.False 或者 iterable 为空,如果是返回 True, ...

  6. cpolar内网穿透外网远程访问本地网站

     系列文章 cpolar内网穿透工具 cpolar内网穿透可应用于哪些场景? cpolar内网穿透可以做什么? 如何下载安装并使用cpolar内网穿透 配置认证cpolar内网穿透 cpolar内网穿 ...

  7. Ubuntu内网穿透搭建网站:设置跳转本地网页服务 6/17

    系列文章 Ubuntu内网穿透搭建网站:建立本地数据库 1/17 Ubuntu内网穿透搭建网站:安装WordPress 2/17 Ubuntu内网穿透搭建网站:设置WordPress连接数据库 3/1 ...

  8. 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 6-8

    系列文章 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 1-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 2-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可 ...

  9. 公司服务器内网OA网站如何实现外网访问?

    目前很多公司会用windows自带的IIS搭建局域网ftp服务器,并搭建WEB服务办公网站. 公司内部OA服务器,在公司内网是可以正常访问的,如何将公司内部的OA服务器映射到internet网络,让不 ...

  10. 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 8-8

    系列文章 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 1-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 2-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可 ...

最新文章

  1. 张钹院士:可解释、可理解是人工智能研究的主攻方向 | CCF-GAIR 2018
  2. 除了密钥,公有云还有哪些安全保护方式
  3. java 树的层次遍历_Java遍历树的层级 - osc_jegm3yg5的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. php mysql查询时间_php查询时间段 mysql时间查询
  5. java boxplot_Matlab Boxplots
  6. 查询方法android的CursorLoader用法小结
  7. XML在线转化为JSON
  8. win10水印烦死了_win10系统下word去水印的方法【图文】
  9. 阿里P8面试官都说太详细了,面试资料分享
  10. 2019年总结 | 31岁,不过是另一个开始
  11. 陶陶摘苹果(洛谷-P1046)
  12. es6 Generator.prototype.throw()方法
  13. 化妆品包装新趋势|视觉模型样机包装模板,让你茅塞顿开
  14. vue教程1-03 v-for循环
  15. java输出date_Java萌新的小小总结:Date日期类数据以给定格式打印输出
  16. 使用MusicTools下载全网音乐
  17. 本地策略和组策略,更改安全设置和用户权限分配兼容性问题
  18. Codeforces Round #670 (Div. 2) D. Three Sequences(差分序列、数学思维分析)
  19. phpstudy Error while setting value ‘STRICT_TRANS_TABLES, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
  20. 前端js实现asr(语音转文字)

热门文章

  1. 机器学习入门——详解主成分分析
  2. 深度学习-激活函数总结
  3. 揭秘盒马鲜生,如何打破收益增长天花板!
  4. 一文读懂响应式编程到底是什么?
  5. 荐书丨如何快速成为150万+小程序开发者中的一员
  6. 微信JSAPI模式与浏览器类型安全访问
  7. Linux核心应用命令速查
  8. Android报错:IllegalStateException: The specified child already has a parent问题解决办法
  9. SQL Sever — 建表语句,设置种子数量与增量以及设置主键 代码
  10. 【AtCoder】ARC100 题解