关于获得本机外网IP地址的问题

    改了个系统中的小功能,显示在线用户的IP地址和MAC地址,用到了这几个方法,记录下。

方法1,获得IP地址:

                string ipAddress  = "";
                WebRequest wr =WebRequest.Create("http://1212.ip138.com/ic.asp");
                Stream s = wr.GetResponse().GetResponseStream();
                StreamReader sr = new StreamReader(s, Encoding.Default);
                string all = sr.ReadToEnd(); //读取网站的数据
                int start = all.IndexOf("您的IP是:[") + 7;
                int end = all.IndexOf("]", start);

                ipAddress = all.Substring(start, end - start);

方法2,可以通过引用using System.Net进行获取,不过由于我这边是自动获取IP的所以没有采用这种方法

        string hostName = Dns.GetHostName();
            IPHostEntry Entry = Dns.GetHostByName(Dns.GetHostName());
            IPAddress pAddress = new IPAddress(Entry.AddressList[0].Address);//内网地址
            IPAddress wAddress = new IPAddress(Entry.AddressList[1].Address);//外网地址 但是对于使用自动获取IP的本机,则无法取得外网的IP

之前也看了园子里其他人使用的方法,大多都是方法1吧,

"http://1212.ip138.com/ic.asp"这个

网址可能会发生变化,第一次用的时候是拷贝别人的代码网址没有改,发现没有获取到IP查看了网页的源码,发现显示IP的地方用iframe跳转了一下,然后我把链接改为了iframe跳转的网页才获取到了IP,以后注意下吧。

时间: 2024-10-06 19:58:10

关于获得本机外网IP地址的问题的相关文章

用Linux命令行获取本机外网IP地址

用Linux命令行获取本机外网IP地址 $ curl ifconfig.me$ curl icanhazip.com$ curl ident.me$ curl ipecho.net/plain$ curl whatismyip.akamai.com$ curl tnx.nl/ip$ curl myip.dnsomatic.com$ curl ip.appspot.com$ curl -s checkip.dyndns.org | sed 's/.*IP Address: \([0-9\.]*\)

获取本机外网ip地址

package com.ning; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; public class Listip { public static void main(String[] args) throws Exception { System.out.println("本机的外网IP是:" //+ Listip.getWebIp("http

获取本机外网IP的工具类

ExternalIpAddressFetcher.java package com.tyust.common; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.regex.Matcher; import java

php 通过ip获取所在城市地址信息 获取计算机外网ip

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Windows Azure 配置实现虚拟机外网IP绑定(云服务)

我们上一篇介绍了如何对已存在的虚拟网络的外网IP做绑定,今天主要介绍配置实现虚拟机外网绑定,两者区别在于一个已存在,一个不存在,如果不存在的话,我们需要新建一个云服务,同时对新建的云服务做标记,标记后,可创建对应得虚拟机来完成外网IP绑定,具体见下:首先注意配置保留虚拟机外网IP需要注意以下事项 一. 操作前的注意事项: 1. 如果虚拟机要使用虚拟网络,只能在Regional Vnet中使用ReservedIP,已经有部署的基于地缘组的虚拟网络无法直接转换为Regional Vnet 2. 这个

Window、Linux查看本机外网ip

前言 我们上网用的IP并不一定是本机网卡的IP地址,由于公网IP地址稀少,国内绝大多数电脑上网,一般都是通过拨号或者端口映射.多个内网地址映射到一个公网地址来实现上网的. 目录 1.查看本机网卡ip 2.查看本机外网ip上网ip 3.路由跟踪查询上网-网关ip 查看本机网卡IP Windows 查看本地IP ipconfig Linux 查看本地IP ifconfig 查看本机外网IP\上网IP 内网ip要访问外网,需要通过NAT(Network Address Translation)技术,将

shell脚本,提取ip地址和子网掩码,和查外网ip地址信息。

#提取IP地址和子网掩码 [[email protected] ~]# ifconfig eth0|grep 'inet addr'|awk -F'[ :]+' '{print $4"/"$8}' 192.168.16.110/255.255.255.0 [[email protected] ~]# #查外网IP地址 [[email protected] ~]# curl -s ipecho.net/plain;echo 114.93.99.39 #查外网ip地址是什么宽带<br

获取本机外网ip和内网ip

获取本机外网ip 1 //获取本机的公网IP 2 public static string GetIP() 3 { 4 string tempip = ""; 5 try 6 { 7 WebRequest request = WebRequest.Create("http://ip.qq.com/"); 8 request.Timeout = 10000; 9 WebResponse response = request.GetResponse(); 10 Stre

c#获取外网IP地址的方法

1.如果你是通过路由上网的,可以通过访问ip138之类的地址来获取外网IP 2.如果是通过PPPOE拨号上网的,可以使用以下代码获取IP //获取宽带连接(PPPOE拨号)的IP地址,timeout超时(秒),当宽带未连接或者连接中的时候获取不到IP public static string GetIP_PPPOE(int timeout) { int i = timeout * 2; while (i > 0) { try { NetworkInterface[] nics = Network