if not exist ip.txt pause 找不到ip文件 请以每行一个ip的形式保存在ip.txt中,并不要带多余空格
rem 读取ip列表
set sum=35
for /F "tokens=1 delims=" %%a in ('type ip.txt') do set str=%%a&(
rem 对每一个%%a的字符数进行累加
call :ipcheck
)
setlocal enabledelayedexpansion
rem 使所有ip列于同一行,并在每个ip之间加入%%i%%0D%%0A%%0D%%0A字符串,
for /f %%i in (ip.txt) do set str=!str!%%i%%0D%%0A%%0D%%0A
***********************************生成发送给网站的数据包 主要是2个变量Content-Length 与iptext*************
echo POST /ip.php HTTP/1.1>>send.txt
echo Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*>>send.txt
echo Referer: http://emuch.net/ip.php>>send.txt
echo Accept-Language: zh-cn>>send.txt
echo Content-Type: application/x-www-form-urlencoded>>send.txt
echo Accept-Encoding: gzip, deflate>>send.txt
echo User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)>>send.txt
echo Host: emuch.net>>send.txt
echo Content-Length: %sum%>>send.txt
echo Connection: Keep-Alive>>send.txt
echo Cache-Control: no-cache>>send.txt
echo.>>send.txt
echo iptext^=%str%^&ok^=%%B5%%D8%%D6%%B7%%B6%%A8%%CE%%BB>>send.txt
rem 发送代有ip列表的数据包给服务器
nc.exe -v emuch.net 80 <send.txt >>recv.txt
*********文本整理*************************
del 地理位置.txt
rem 去除返回数据的前51行
for /f "skip=51 tokens=1* delims=" %%a in ('type recv.txt') do echo %%a%%b>>地理位置1.txt
rem 去处尾部不含有ip的行
find "#" 地理位置1.txt >地理位置2.txt
rem 过滤第一行的特殊字符并追加在文本末尾
for /f "skip=2 tokens=1* delims=>" %%a in ('type 地理位置2.txt') do @echo.%%b>>地理位置2.txt
rem 去除前3行
for /f "skip=3 tokens=1* delims=" %%a in ('type 地理位置2.txt') do @echo.%%a>>地理位置.txt
del 地理位置2.txt
del 地理位置1.txt
del send.txt
del recv.txt
exit
************* 以下对输入ip字符进行统计,公式为sum=ip总字符数+ip个数*12+35。参考pengfei的一篇文章*******
:ipcheck
echo %str%
set ippress=%str%
set num=0
set "str=%str:"= %"
:next
if not "%str%"=="" (
set /a num+=1
set "str=%str:~1%"
goto next
)
set /a num=%num%+12
set /a sum=sum+%num%
rem call命令中断,返回数据发送程序。
goto :eof