【方案一】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