中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » p-proxy v2.0.cmd [http代理查找、设置、验证器]
« [1] [2] [3] »
作者:
标题: p-proxy v2.0.cmd [http代理查找、设置、验证器] 上一主题 | 下一主题
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『楼 主』:  p-proxy v2.0.cmd [http代理查找、设置、验证器]




    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :: p-proxy.cmd      V2.0   by:vkill   2007/01/01
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @echo off
    :000
    call :happy
    cls
    call :help_
    echo                         (以后可以/?查看帮助)
    echo.
    set var=
    set/p var=                 下次运行是否继续显示此帮助[Y/N]:
    if /i %var%*==* goto 000
    if /i %var%*==Y* goto start
    if /i %var%*==N* goto 写第一行
    goto 000
    :写第一行
    cd.>>%0 ||(echo 你没有本目录的写入权限&pause>nul&goto :eof)
    echo %~p0|find /i "Rar$">nul &&(echo 请把本程序解压到文件夹下使用&pause>nul&goto :eof)
    for /f "tokens=*" %%a in ('echo goto start^&more^<%0') do (
    if not defined vk (>%0 echo %%a&set vk=vkill) else >>%0 echo %%a
    )
    cls
    echo 跳过帮助已设置完毕,重新运行本程序生效,任意键退出
    pause>nul
    goto :eof
    :start
    @echo off
    if %~1*==/?* goto h
    if %~1*==-?* goto h
    if %~1*==/h* goto h
    if %~1*==-h* goto h
    goto start_2
    :h
    call :help_
    puase>nul
    goto :eof
    :start_2
    ::conf
    ::是否需要网络支持
    set "net_on=y"
    set "search_url=http://www.baidu.com/s?wd="
    set "search_关键字=代理ip"
    set "tools_url=http://www.vkill.net/tools/"
    set "tools_name=wget.exe;sed.exe;gawk.exe;HtoX32c.exe"
    set "txts=ip-port.txt;url.txt;awk.conf"
    ::下载baidu搜索到前1-10个页面
    set "top=10"
    set "temp=test.tx"
    cls
    ::test
    echo %~p0|find /i "Rar$">nul &&(echo 请把本程序解压到文件夹下使用&pause>nul&goto :eof)
    if not %temp%*==* (cd.>>%0 ||(echo 你没有本目录的写入权限&pause>nul&goto :eof))
    for %%? in (%txts%) do (if not exist %%? (echo 缺少文件%%?&pause>nul&goto :eog))
    if %net_on%*==y* (ping -n 1 www.baidu.com>nul 2>nul||(echo 网络不通,请先检查网络&pause>nul&goto :eof))
    md %temp%>nul 2>nul
    PUSHD %temp%
    call :del_
    :down_tools
    title [1/4]依赖文件完整性检查开始    by:vkill
    set "down_ok=y"
    if not "%tools_name%*"=="*" (
    for %%? in (%tools_name%) do (
    if *%%~$PATH:?==* if not exist ..\%%? (
    set "down_ok=n"
    echo 程序所依赖文件%%?缺失,已自动开始下载
    if not exist iget.vbs call :iget.vbs_
    iget.vbs "%tools_url%%%?" "..\%%?"
    move "..\%%?" %windir%>nul 2>nul
    echo 文件%%?下载完毕
    )
    )
    )
    if [%down_ok%]==[n] goto down_tools
    ::参数
    if /i [%~1*]==[-u*] (set "var_1=..\url.txt"&goto acquisition_s)
    if /i [%~1*]==[-v*] (if [%~2*]==
  • (set "var_2=..\ip-port.txt"&goto validate_s) else (goto validate_o))
    :acquisition_s
    title [2/4]获取代理地址开始   by:vkill
    cls
    echo 请稍候......
    if [%~1*]==
  • set "var_1=b%temp%"
    if [%var_1%*]==[..\url.txt*] if not exist %var_1% (echo 缺少文件%var_1%&pause>nul&goto :eof)
    if [%~1*]==
  • (
    :down_index
    wget -q -O "a%temp%" "%search_url%%search_关键字%"
    :find_top
    sed -n "/<DIV id=ScriptDiv><\/DIV>/,/<br clear=all>/p" a%temp%|sed "s/this.href,/\n/g"|sed "s/.*)\x22 href=\x22//;s/\x22 target=\x22.*//"|sed "/^http:\/\//!d"|more>%var_1%
    )
    :down_top
    md htmls>nul 2>nul
    set n=1
    setlocal enabledelayedexpansion
    for /f "eol=; tokens=*" %%? in (%var_1%) do (
    if !n!==%top% goto end_down_top
    echo 正在获取代理地址页面!n!
    wget -q -t 1 --directory-prefix=htmls "%%?"
    set/a "n=n+1"
    )
    :end_down_top
    endlocal
    ::htm2txt
    HtoX32c.exe /ip htmls\*.*>c%temp%
    gawk "/[1-9]*\.[1-9]*\.[0-9]*\.[0-9]/" c%temp%|gawk -f ..\awk.conf|more>d%temp%
    goto validate_s
    :validate_s
    title [3/4]验证多个代理地址开始    by:vkill
    cls
    if /i [%~1*]==[-u*] (set var_2=d%temp%)
    if [%~1*]==
  • (set var_2=d%temp%)
    if [%var_2%*]==[..\ip-port.txt*] if not exist %var_2% (echo 缺少文件%var_2%&pause>nul&goto :eof)
    for /f "eol=; tokens=1,2 delims= " %%a in (%var_2%) do (
    set/p=正在验证%%a:%%b <nul
    wget -q -T 3 -t 1 -e "http_proxy=%%a:%%b" http://www.baidu.com -O - >nul 2>nul &&(echo %%a:%%b>>e%temp%&set/p=→ok <nul)
    echo.
    )
    goto :shezhi
    :validate_o
    title [3/4]验证单个代理地址开始    by:vkill
    cls
    echo %~2|findstr "^[1-9]*\.[1-9]*\.[0-9]*\.[0-9]*\:[0-9]*$">nul||(echo 待测试的%~2不是有效的代理地址&pause>nul&goto :eof)
    set/p=正在验证%~2 <nul
    wget -q -T 3 -t 1 -e "http_proxy=%~2" http://www.baidu.com -O - >nul 2>nul &&(echo %~2>>e%temp%&set/p=→ok <nul)
    echo.
    )
    goto :shezhi
    :shezhi
    title [4/4]设置、修改、删除代理    by:vkill
    cls
    findstr . e%temp%>nul 2>nul ||(echo 没有有效的代理&pause>nul&goto :end)
    findstr /N . e%temp%>..\proxy.txt
    call :del_
    copy /Y ..\proxy.txt proxy.txt>nul 2>nul
    sed -n $= proxy.txt|more>%temp%
    set/p max_n=<%temp%
    reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"|findstr /i " Proxyserver " |sed "s/[^0-9.:]//g"|more>%temp%
    findstr . %temp%>nul &&(set/p y_proxy=<%temp%) ||(set y_proxy=空)
    reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"|findstr /i " ProxyEnable " |sed "s/.* 0x1 //;s/*[ \t]//g"|more>%temp%
    findstr . %temp%>nul &&(set y_on=关闭)||(set y_on=打开)
    set/a "ye=%max_n%/10"
    set/a "ye=%ye%+1"
    set n1=1
    :liebiao
    if %n1% lss 1 set "n1=1"
    set/a n2=%n1%+9
    cls
    echo.
    echo 当前代理设置情况:[状态→%y_on%   地址→%y_proxy%]
    echo ________________________________________________________________________________
    echo                     检测完有效的代理列表如下(行号-地址)
    echo.
    sed "%n1%,%n2%!d;s/^/                          /;s/:/-/" proxy.txt
    echo.
    set/p= <nul               
    if [1] lss [%n1%] (set/p=[U]上一页 <nul        ) else (set/p=          <nul        )
    set/p=共%ye%页 <nul        
    if not [%max_n%] lss [%n2%] (set/p=下一页[N] <nul) else (set/p=          <nul)
    echo.
    echo ________________________________________________________________________________
    set xz=
    set /p xz=                请输入操作代码或你要设置为当前ie代理的行号:
    echo.
    if "%xz%"=="" (echo 无效动作 & pause>nul && goto liebiao)
    if /i "%xz%"=="u" (set/a "n1=%n1%-10" &goto liebiao)
    if /i "%xz%"=="n" (set/a "n1=%n1%+10" &(if %max_n% lss %n1% (set/a "n1=%n1%-10"))&goto liebiao)
    echo %xz%|findstr "^[0-9]*$" >nul||(echo 无效动作 & pause>nul && goto liebiao)
    findstr "^%xz%:" ..\proxy.txt>nul||(echo 不是有效的行数 & pause>nul && goto liebiao)
    :xz_ok
    sed "/^%xz%:/!d;s/^%xz%://" ..\proxy.txt|more>%temp%
    set/p proxy_ip=<%temp%
    @reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
    @reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v Proxyserver /d %proxy_ip% /f
    :hxz
    cls
    echo ________________________________________________________________________________
    echo                 你已经成功将%proxy_ip%设置为当前ie的代理地址
    echo.
    echo                               重新打开ie生效
    echo.
    echo                a 重新选择 ;  b 取消当前代理设置 ;  c 保存退出  
    echo ________________________________________________________________________________
    set hxz=
    set /p hxz=                            请输入操作代码:
    if "%hxz%"=="" echo 无效动作 & pause && goto hxz
    if "%hxz%"=="a" goto shezhi
    if "%hxz%"=="c" goto end
    if "%hxz%"=="b" goto quxiao
    goto hxz
    :quxiao
    @reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
    @reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v Proxyserver /f
    echo 取消当前代理设置成功,重新打开ie生效,按任意键退出&pause>nul
    :end
    call :del_
    :end
    popd
    goto :eof
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    ::所有call
    :help_
    title help
    mode con lines=30
    echo ________________________________________________________________________________
    echo 用途:
    echo     http代理查找、设置、验证器  by:vkill
    echo.
    echo 使用方法:(推荐使用-u)
    echo 1.无参数
    echo   将自动查找到"baidu"关键词"代理ip"前^<10位的页面中所有代理的地址并验证其可用性
    echo 2.-v
    echo   将验证ip-port.txt文件中所有代理地址其可用性
    echo 3.-v 1.1.1.1:80
    echo   将验证1.1.1.1:80代理地址其可用性
    echo 4.-u
    echo   将验证url.txt文件中所有网页中的代理地址的其可用性,请按需求自行修改网页
    echo.
    echo 程序依赖文件:(详细用法http://www.vkill.net/tools.html页面下载相应文件)
    echo     1.wget.exe 1.10.2  验证代理,下载网页
    echo     2.sed.exe  4.0.7x  文本文字处理
    echo     3.gawk.exe 3.1.5   文本文字处理
    echo     4.HtoX32c  1.7.3   htm2txt
    echo.
    echo [注:初次使用可能要用到iget.vbs,杀毒软件有可能误报]
    echo ________________________________________________________________________________
    goto :eof
    :echo_test
    goto :eof
    :del_
    del /f/q *.*>nul 2>nul
    del /f/q htmls\*.*>nul 2>nul
    goto :eof
    :iget.vbs_
    >iget.vbs echo x=LCase(WScript.Arguments(1))
    >>iget.vbs echo y=LCase(WScript.Arguments(0))
    >>iget.vbs echo Set xPost=CreateObject("Microsoft.XMLHTTP")
    >>iget.vbs echo xPost.Open "GET",y,0
    >>iget.vbs echo xPost.Send()
    >>iget.vbs echo Set sGet=CreateObject("ADODB.Stream")
    >>iget.vbs echo sGet.Mode=3
    >>iget.vbs echo sGet.Type=1
    >>iget.vbs echo sGet.Open()
    >>iget.vbs echo sGet.Write(xPost.responseBody)
    >>iget.vbs echo sGet.SaveToFile x,2
    goto :eof
    :happy
    echo happy new year !!!
    ping -n 2 127.1>nul 2>nul
    goto :eof




[ Last edited by vkill on 2007-1-3 at 10:56 PM ]

   此帖被 +47 点积分       点击查看详情   
评分人:【 9527 分数: +6  时间:2006-12-26 06:19
评分人:【 electronixtar 分数: +14  时间:2006-12-26 06:26
评分人:【 ccwan 分数: +15  时间:2006-12-26 06:40
评分人:【 HUNRYBECKY 分数: +3  时间:2006-12-26 23:07
评分人:【 redtek 分数: +7  时间:2006-12-26 23:16
评分人:【 scriptor 分数: +2  时间:2006-12-27 01:15


附件 1: p-proxy v1.0.rar (2006-12-26 06:15, 2.81 K, 下载附件所需积分 1 点 ,下载次数: 133)
附件 2: p-proxy v2.0.rar (2007-1-2 04:55, 3.91 K, 下载附件所需积分 1 点 ,下载次数: 180)
2006-12-26 06:15
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 2 楼』:  

可见兄研究这个P已经很长时间啦,呵呵,这么晚才放出来,哈哈哈,顶,不错,加分



我今后在论坛的目标就是做个超级坏人!!!
2006-12-26 06:18
查看资料  发短消息 网志  OICQ (329429)  编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 3 楼』:  

呵呵,9527,测试下,看是否好用,我2003测试ok

2006-12-26 06:20
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 4 楼』:  

顶!~~

2006-12-26 06:27
查看资料  发送邮件  发短消息 网志   编辑帖子
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 5 楼』:  

建议改标题,把帖子内容说明白点

2006-12-26 06:27
查看资料  发送邮件  发短消息 网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by electronixtar at 2006-12-26 06:27:
建议改标题,把帖子内容说明白点

ok ,改了

2006-12-26 06:32
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 7 楼』:  

要是把sed的都改为gawk就可以少个外部工具了,可惜gawk我还不熟,希望无奈何斑竹来看看

2006-12-26 06:45
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  



  Quote:
因为第一次使用需要iget.vbs,所以如果开了杀毒最好关闭使用

  果然,一下载卡巴就出来狂叫了……


附件 1: proxy.BMP (2006-12-26 06:54, 363.33 K, 下载附件所需积分 1 点 ,下载次数: 10)


2006-12-26 06:54
查看资料  发送邮件  发短消息 网志   编辑帖子
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 9 楼』:  

这可是圣诞大餐了,也会报有毒。^_^



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-26 06:57
查看资料  发送邮件  发短消息 网志   编辑帖子
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 10 楼』:  

太牛了,几天没有来,真是最好的圣诞礼物。谢谢你这个圣诞老人。

2006-12-26 23:08
查看资料  发送邮件  发短消息 网志   编辑帖子
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by ccwan at 2006-12-26 06:57:
这可是圣诞大餐了,也会报有毒。^_^

晕啊~不是有毒,iget.vbs这东东都抱,也没有办法了

2006-12-27 07:03
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 12 楼』:  

楼主已更新了!大家试试2.0版的效果如何好吗?



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-1-3 02:11
查看资料  发送邮件  发短消息 网志   编辑帖子
flamey
初级用户





积分 152
发帖 74
注册 2005-12-1
状态 离线
『第 13 楼』:  

非常好!

卡巴太烂了,换个杀毒软件吧!(注:经常的误报,是病毒的不报,不是病毒的就报,就象我们单位的防盗器!)

2007-1-3 04:42
查看资料  发短消息 网志   编辑帖子
雨露
管理员

DOS非常爱好者


积分 6209
发帖 2598
注册 2006-1-20
状态 离线
『第 14 楼』:  

楼主的程序依赖文件:(详细用法http://www.vkill.net/tools.html页面下载相应文件)
    1.wget.exe 1.10.2  验证代理,下载网页
    2.sed.exe  4.0.7x  文本文字处理
    3.gawk.exe 3.1.5   文本文字处理
    4.HtoX32c  1.7.3   htm2txt
下载解压后发现gsed_4.0.7x和wget_1.10.2文件夹内含有-----隐藏的系统属性的_desktop.ini文件,不会是楼主曾经中过维金病毒吧?



2007-1-3 09:12
查看资料  发短消息 网志  OICQ (156647374)  编辑帖子
雨露
管理员

DOS非常爱好者


积分 6209
发帖 2598
注册 2006-1-20
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by flamey at 2007-1-3 04:42:
非常好!

卡巴太烂了,换个杀毒软件吧!(注:经常的误报,是病毒的不报,不是病毒的就报,就象我们单位的防盗器!)

瑞星2007也报毒!Trojan.DL.VBS.Agent.c



2007-1-3 09:15
查看资料  发短消息 网志  OICQ (156647374)  编辑帖子
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: