请问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地址”) 展开
 我来答
1_1_8881_1_888
2014-01-06 · TA获得超过855个赞
知道小有建树答主
回答量:391
采纳率:50%
帮助的人:364万
展开全部
我们知道内网ip和外网ip可能不同,这涉及到“网络地址转换”(NAT)。
事实上,*只有*和公网联络才有可能获取外网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 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
文明国度
2014-01-06 · TA获得超过288个赞
知道小有建树答主
回答量:788
采纳率:25%
帮助的人:339万
展开全部
这个可以用API函数.
追问
对API函数可否用代码举例呢,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式