请问VB怎样获取本机外网动态的IP地址啊(不是通过访问ip138网页的方式获取)
通过“开始”、“运行”、“cmd”、“ipconfig”,可以看到“本地连接:autoconfigurationIPAddress的IP地址220.221.222.223...
通过“开始”、“运行”、“cmd”、“ipconfig”,可以看到“本地连接:autoconfiguration IP Address的IP地址220.221.222.223”,还可以看到“宽带连接:IP Address的IP地址是221.222.223.224”,请问怎样用VB获取本机被电信动态赋予的IP:“宽带连接:IP Address的IP地址是221.222.223.224”。(不是通过不是通过访问ip138网页的方式获取,也不是通过 Winsock1.LocalIP获得的“本地连接:autoconfiguration IP Address的IP地址”)
展开
2个回答
展开全部
我们知道内网ip和外网ip可能不同,这涉及到“网络地址转换”(NAT)。
事实上,*只有*和公网联络才有可能获取外网ip地址,直接用winsock的localip属性,或者ipconfig之类的方法(在内外网ip不同的情况下)获取的都是内网ip!
获取外网ip可以用你说的ip138网页的方式,可以通过winsock、inet、xmlhttp、webbrowser等组件来获取远程服务器返回的数据,即外网ip——从服务器的角度看的你的ip地址。此外也可以使用STUN协议。总之,这些方法都需要处在外网的服务器,因为NAT设备是不会让内网主机获取其ip映射表的。
我可以实现上述提到的每一种获取外网ip的方法。如有需要请追问
事实上,*只有*和公网联络才有可能获取外网ip地址,直接用winsock的localip属性,或者ipconfig之类的方法(在内外网ip不同的情况下)获取的都是内网ip!
获取外网ip可以用你说的ip138网页的方式,可以通过winsock、inet、xmlhttp、webbrowser等组件来获取远程服务器返回的数据,即外网ip——从服务器的角度看的你的ip地址。此外也可以使用STUN协议。总之,这些方法都需要处在外网的服务器,因为NAT设备是不会让内网主机获取其ip映射表的。
我可以实现上述提到的每一种获取外网ip的方法。如有需要请追问
追问
想获得“ipconfig”命令后的“IP Address”,这个地址是动态的,我每次开启电脑后看它都是在变的,需要这个动态的IP,有没有简单的VB代码呢,最好不要通过什么ip138网址获取的呢?因为想实现局域网的一主机与外网一客机联接通信,试过,需要“ipconfig”命令后的“IP Address”后面那个IP地址才连得上。
追答
既然你坚持要ipconfig的输出,那么可以这样
dim w, A, b
set w = createobject("wscript.shell")
set A = w.exec("ipconfig").stdout
b = A.readall
msgbox b
b是全部输出,是字符串,自己筛选要的信息吧
VB和VBS测试了都可以
参见http://demon.tw/programming/vbs-run-and-exec.html
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询