获取外网IP地址的批处理代码
投稿:mdxy-dxy
命令行获取外网IP地址,主要是利用批处理获取网页中的ip数据。
复制代码 代码如下:
::==========================================
:: IP.bat
:: v0.1
:: jinminghou.cn@2009-12-22
::==========================================
@echo off
title GetIP
set ip=unknown
echo On Error Resume Next:Set oDOM=WScript.GetObject("http://www.jinminghou.cn/?app=ip&flag=client&temp="^&now()):Dim i:For i = 1 To 50:If
oDOM.ReadyState="complete" Then Exit For:End If:WScript.Sleep 200:Next:Dim Temp:Temp=oDOM.documentElement.outerText:Set oDOM=Nothing:Temp=Mid(Temp, Instr
(Temp, "[")+1, Instr(Temp, "]")-Instr(Temp, "[")-1):WScript.Echo Temp>"%temp%\GetIP.vbs"
for /f "tokens=1,* delims=:" %%i in ('"cscript //nologo ^"%temp%\GetIP.vbs^"') do set ip=%%i
if exist "%temp%\Getip.vbs" del "%temp%\Getip.vbs">2>nul
echo Your IP: [%ip%]
pause>2>nul
【方案一】BAT + VBS
复制代码 代码如下:
@echo off
set "URL=http://www.ip138.com/ip2city.asp"
>%temp%/download.vbs echo Set objDOM = WScript.GetObject(WScript.Arguments(0))
>>%temp%/download.vbs echo Do Until objDOM.ReadyState = "complete"
>>%temp%/download.vbs echo WScript.Sleep 100
>>%temp%/download.vbs echo Loop
>>%temp%/download.vbs echo WScript.Echo objDOM.DocumentElement.OuterText
for /f "tokens=2 delims=[]" %%a in ('cscript //nologo //e:vbscript %temp%/download.vbs "%URL%"') do (
set "PublicIP=%%a"
)
echo,%PublicIP%
pause
【方案二】BAT + wget.exe(GNU)
复制代码 代码如下:
@echo off
set "URL=http://www.ip138.com/ip2city.asp"
for /f "tokens=2 delims=[]" %%a in ('wget -q "%URL%" -O -') do (
set "PublicIP=%%a"
)
echo,%PublicIP%
pause
【方案三】BAT + curl.exe(GNU)
复制代码 代码如下:
@echo off
set "URL=http://www.ip138.com/ip2city.asp"
for /f "tokens=2 delims=[]" %%a in ('curl -s "%URL%"') do (
set "PublicIP=%%a"
)
echo,%PublicIP%
pause