社区
C#
帖子详情
获得公网ip
jieon
2009-09-10 12:59:39
winform如何获得本机的ip地址,如是公网的话直接返回公网ip。
string strHostName = Dns.GetHostName();
clientAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
这样得到的总是内网段的ip....
如在公网,可以直接获取吗?
...全文
88
8
打赏
收藏
获得公网ip
winform如何获得本机的ip地址,如是公网的话直接返回公网ip。 string strHostName = Dns.GetHostName(); clientAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString(); 这样得到的总是内网段的ip.... 如在公网,可以直接获取吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jieon
2009-09-10
打赏
举报
回复
foreach (IPAddress ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
{
Console.WriteLine(ip);
}
wuyq11
2009-09-10
打赏
举报
回复
static string GetPage(string url)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
try
{
using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
{
using (StreamReader sr = new StreamReader(res.GetResponseStream()))
{
return sr.ReadToEnd();
}
}
}
catch (System.Exception e)
{
return e.Message;
}
finally
{
req.Abort();
}
}
// 通过外部网站得到本机的外部IP
static string GetOuterIP()
{
string patt = @"IP: \[(?<IP>[0-9\.]*)\]";
string url = "";
return Regex.Match(GetPage(url), patt).Groups["IP"].Value;
}
static void Main()
{
foreach (IPAddress ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
{
Console.WriteLine(ip);
}
Console.WriteLine();
Console.WriteLine(GetOuterIP());
}
jieon
2009-09-10
打赏
举报
回复
[Quote=引用 5 楼 caozhy 的回复:]
引用 4 楼 jieon 的回复:
我的意图是在程序运行的时候判断是自身是内网,还是公网
10 127 169 172 192 ... 这些网段是内网。
或者把公网和本地ip比较,判断。
[/Quote]
我是把得到ip得到的ip在内网网段内比较,可我发现公网得到的ip它也会在内网网段内....
threenewbee
2009-09-10
打赏
举报
回复
[Quote=引用 4 楼 jieon 的回复:]
我的意图是在程序运行的时候判断是自身是内网,还是公网
[/Quote]
10 127 169 172 192 ... 这些网段是内网。
或者把公网和本地ip比较,判断。
jieon
2009-09-10
打赏
举报
回复
我的意图是在程序运行的时候判断是自身是内网,还是公网
lzsh0622
2009-09-10
打赏
举报
回复
网关内,不通过外部网络,得不到.
jieon
2009-09-10
打赏
举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
不可以。需要公网段反射回来。
比如访问www.ip138.com,然后读取返回的网页。
[/Quote]
这样内网的机器访问 返回的也会是公网ip
threenewbee
2009-09-10
打赏
举报
回复
不可以。需要公网段反射回来。
比如访问www.ip138.com,然后读取返回的网页。
VC 获取
公网
ip
地址
参考了部分网友的资源,改写了一个获取
公网
IP
地址的方法。忘记了网友网址,如冒犯,请原谅!发布此代码的目的旨在交流。代码如下: //头文件 #include "afxinet.h" //获取
公网
IP
地址 CString getLocal
Ip
Address() {...
一个查看目前主机的
公网
IP
是多少的工具,得到
公网
IP
.exe
一个查看目前主机的
公网
IP
是多少的工具,得到
公网
IP
.exe
《计算机体系结构—网络篇1、2》之 网络结构、
IP
分组交换技术、
IP
/MAC映射、NAT转换等
课程内容:网络结构、
IP
分组交换技术、
IP
/MAC地址映射、私网
公网
IP
、NAT转换、网卡、交换机、路由器等,以上这些内容对于很多同学来说是熟悉又陌生,熟悉的是经常听到,陌生的是没有多少同学真的完全弄明白了,这...
VB 利用三种方法获取
公网
IP
VB 利用三种方法获取
公网
IP
VB利用三种方法获取
公网
(外网)
IP
,三种方法都要使用Windows内置组件,因此如果找不到组件的话程序编译会出错,运行也会出错: 第一种:使用Winsock控件(MSWINSCK.OCX) 第二种:...
PPPoE ---CPE客户端的命令行,如何拨号
获得
公网
IP
地址,如何用物理接口关联拨号虚接口。
PPPoE ---CPE客户端的命令行,如何拨号
获得
公网
IP
地址,如何用物理接口关联拨号虚接口。
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章