找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19725|回复: 4

VBS获取外网IP

[复制链接]
发表于 2008-1-8 23:11:16 | 显示全部楼层 |阅读模式

  1. '/*程序名称:获取外网IP
  2. '/*说明:核心代码源自网络,youxi01整理修改;
  3. set oDOM = WScript.GetObject("http://ipseeker.cn//")

  4. '/*/////////设置连接是否成功的标志符;/////////
  5. flag=0

  6. '/*////////设置连接次数;///////////
  7. for i=1 to 10
  8.    '/*///////////如果已经成功连接,则跳出for循环;////////
  9.    if oDOM.readyState = "complete" then
  10.       flag=1
  11.       exit for
  12.    end if
  13.    WScript.sleep 500       '每0.5秒就连接一次;
  14. next

  15. if flag=0 then
  16.     msgbox "连接超时,请重新连接...",vbExclamation,"连接超时"
  17.     wscript.quit
  18. end if

  19. '/*///////////保存返回结果////////////
  20. s=oDOM.documentElement.innerText

  21. '/*///////////正则表达式///////////
  22. Set Re = New RegExp
  23. '/*//////数据匹配:数字.数字.数字.数字
  24. Re.Pattern="(\d+)\.(\d+)\.(\d+)\.(\d+)"
  25. for each r in Re.Execute(s)
  26.      res=r
  27.      exit for
  28. Next

  29. msgbox "您的IP地址是:"&vbcrlf&vbcrlf&res,vbInformation,"连接成功"
复制代码
发表于 2008-4-21 11:38:52 | 显示全部楼层
不错!!!!!!!!!!!!!!
发表于 2008-7-25 18:35:22 | 显示全部楼层
在我的电脑上(电信网络),不是连接超时就是返回的IP是空的,仅显示“您的IP地址是:”
发表于 2014-12-11 17:41:38 | 显示全部楼层
本帖最后由 pcl_test 于 2017-6-15 19:23 编辑
  1. ' GetWanIP.vbs
  2. If Ping("www.ip138.com") Then
  3.   Msgbox "你的外网IP是:"  & HttpGet("http://1212.ip138.com/ic.asp")
  4. Else
  5.   Msgbox "你的电脑没有连通外网。"
  6. End If

  7. Function HttpGet(ByVal url)
  8.   On Error Resume Next
  9.   With CreateObject("Msxml2.ServerXMLHTTP")
  10.     .open "GET", url, False
  11.     .send
  12.     HttpGet = split(split(.responseText, "[")(1), "]")(0)
  13.   End With
  14. End Function

  15. Function Ping(ByVal host)
  16.   On Error Resume Next
  17.   Ping = False
  18.   Dim objWMIService, colItems
  19.   Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  20.   Set colItems = objWMIService.ExecQuery("Select * From Win32_PingStatus Where Address='" & host & "'")
  21.   For Each objItem In colItems
  22.     If objItem.StatusCode = 0 Then Ping = True : Exit For
  23.   Next
  24. End Function
复制代码
发表于 2014-12-11 22:14:57 | 显示全部楼层
回复 4# yu2n


这个网址也挺干净:
http://city.ip138.com/ip2city.asp
之前还有一个更干净的,可惜失效了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:51 , Processed in 0.020065 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表