获取内网、通过外部网站返回得到内网外部IP (C#/VB.NET)
获取内网IP
代码
通过外部网站返回得到内网外部IP
C#版
{
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 版
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)相关推荐
- HTML5期末大作业:官网时尚购物(网站设计——美丽说官网时尚购物(1页) HTML+CSS+JavaScript 网页设计成品DW静态网页Html5响应式css3
HTML5期末大作业:官网时尚购物(网站设计--美丽说官网时尚购物(1页) HTML+CSS+JavaScript 网页设计成品DW静态网页Html5响应式css3 常见网页设计作业题材有 个人. 美 ...
- 一个手机用c网可以打开网站切换到g网就打不开_推荐7个鲜为人知的搜索网站,让人眼前一亮...
1:奇异书屋 https://www.talebook.org/ 奇异书屋是一个简洁清新并且不可不多的高质量电子书籍搜索网站. 它提供将近 2W 本电子书籍,并且按照作者和标签详细分类,其中书籍标签包 ...
- python内置函数用来返回_Python内置函数用法
1.Python raw_input()函数 作用: raw_input() 用来获取控制台的输入,将所有输入作为字符串看待,返回字符串类型. 注意: input() 和 raw_input() 这两 ...
- python内置函数用来返回_python内置函数2
37.locals() 函数会以字典类型返回当前位置的全部局部变量 locals() >>>def runoob(arg): # 两个局部变量:arg.z ... z = 1 ... ...
- python内置函数用来返回_Python内置函数
1.abs() 函数返回数字的绝对值. 2.all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否不为 0.''.False 或者 iterable 为空,如果是返回 True, ...
- cpolar内网穿透外网远程访问本地网站
系列文章 cpolar内网穿透工具 cpolar内网穿透可应用于哪些场景? cpolar内网穿透可以做什么? 如何下载安装并使用cpolar内网穿透 配置认证cpolar内网穿透 cpolar内网穿 ...
- Ubuntu内网穿透搭建网站:设置跳转本地网页服务 6/17
系列文章 Ubuntu内网穿透搭建网站:建立本地数据库 1/17 Ubuntu内网穿透搭建网站:安装WordPress 2/17 Ubuntu内网穿透搭建网站:设置WordPress连接数据库 3/1 ...
- 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 6-8
系列文章 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 1-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 2-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可 ...
- 公司服务器内网OA网站如何实现外网访问?
目前很多公司会用windows自带的IIS搭建局域网ftp服务器,并搭建WEB服务办公网站. 公司内部OA服务器,在公司内网是可以正常访问的,如何将公司内部的OA服务器映射到internet网络,让不 ...
- 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 8-8
系列文章 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 1-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 2-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可 ...
最新文章
- 张钹院士:可解释、可理解是人工智能研究的主攻方向 | CCF-GAIR 2018
- 除了密钥,公有云还有哪些安全保护方式
- java 树的层次遍历_Java遍历树的层级 - osc_jegm3yg5的个人空间 - OSCHINA - 中文开源技术交流社区...
- php mysql查询时间_php查询时间段 mysql时间查询
- java boxplot_Matlab Boxplots
- 查询方法android的CursorLoader用法小结
- XML在线转化为JSON
- win10水印烦死了_win10系统下word去水印的方法【图文】
- 阿里P8面试官都说太详细了,面试资料分享
- 2019年总结 | 31岁,不过是另一个开始
- 陶陶摘苹果(洛谷-P1046)
- es6 Generator.prototype.throw()方法
- 化妆品包装新趋势|视觉模型样机包装模板,让你茅塞顿开
- vue教程1-03 v-for循环
- java输出date_Java萌新的小小总结:Date日期类数据以给定格式打印输出
- 使用MusicTools下载全网音乐
- 本地策略和组策略,更改安全设置和用户权限分配兼容性问题
- Codeforces Round #670 (Div. 2) D. Three Sequences(差分序列、数学思维分析)
- phpstudy Error while setting value ‘STRICT_TRANS_TABLES, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
- 前端js实现asr(语音转文字)