中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]用wget简单检测代理服务器是否可用
English/Chinese Fix Translation
作者:
标题: [原创]用wget简单检测代理服务器是否可用 上一主题 | 下一主题
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『楼 主』:  [原创]用wget简单检测代理服务器是否可用 使用 LLM 解释/回答一下


  平时上网的时候,有时会使用到代理服务器,常规的做法是去一些提供代理服务器列表的网站找一些我们想要的代理。但是上面有很多代理都是不可用的,难道要用手工一个个的去试哪个代理是否可用吗?用我们的批处理脚本就可以完成这个任务了。

  利用wget的代理功能,来下载一个固定的网页,比如www.baidu.com,我下载的是www.ip138.com这个网页,来达到简单检测一些网站的代理服务器列表是否可用的目的。我用的提供代理服务器列表的网站是:http://www.cnproxy.com/proxyedu1.html

  这个批处理并非可以完美的达到我们的目的,里面还有很多参数和格式可以修改,大家可以按照自己的意愿去修改里面的语句和参数。大家有什么意见也可以跟帖提出来。这个批处理最好可以放在一个文件夹中运行,因为中间会生成很多文件。

  关于wget这个小工具,可以在论坛里搜索一下,就可以找到了。

  在此,感谢 electronixtar 兄的提议和 redtek 兄的帮助。

@echo off&setlocal ENABLEDELAYEDEXPANSION&title 代理检测
if exist proxyedu1.html del proxyedu1.html /a/s >nul
if exist useproxy.txt del /a/q useproxy.txt
echo 于 %date% %time% 检测 http://www.cnproxy.com/proxyedu1.html 可用代理如下: >useproxy.txt
echo;>>useproxy.txt
echo ############################################################# >>useproxy.txt
wget http://www.cnproxy.com/proxyedu1.html >nul 2>nul
for /f "tokens=1,2 delims=^<trd>: " %%a in ('type proxyedu1.html ^| findstr /c:"HTTP" ') do (
set set=
set set=%%a
set "set=!set:&#8205=!"
set "set=!set!:%%b"
echo 正在检测 !set! 代理,请稍等....
wget -q -T 3 -t 1 -e "http_proxy=!set!" http://www.ip138.com -O - >nul 2>nul && echo 检测到 ******* !set! ******* 代理可用&&echo ----!set! >>useproxy.txt
)
start useproxy.txt
goto :eof


Last edited by lxmxn on 2006-11-27 at 01:01 PM ]


   此帖被 +21 点积分       点击查看详情   
评分人:【 electronixtar 分数: +8  时间:2006-11-27 23:50
评分人:【 redtek 分数: +5  时间:2006-11-28 00:52
评分人:【 ccwan 分数: +4  时间:2006-11-28 04:46
评分人:【 hxuan999 分数: +2  时间:2006-11-28 06:26
评分人:【 honghunter 分数: +2  时间:2007-11-22 01:01


2006-11-27 12:27
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

不错,不错,应该好好挖掘一下 wget 的功能。
wget 有几点给你补充一下:
wget -q 不输出下载记录信息
wget -O - 将下载内容输出到屏幕,不写入文件。




  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-11-27 12:49
查看资料  发送邮件  发短消息  网志  OICQ (105400208)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下


  多谢版主的指点啊。

  由于刚学习使用wget,所以还没发现这么多好用的参数呢,就连那个-t参数都是百度了才知道的。汗一个。
  
  我再把代码完善一下。


2006-11-27 12:53
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

这么好玩的代码,又实用又给下载提供了更多的方便~:)))
欣赏~~




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-27 22:06
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

我以前也试过wget && 没有试成,可能没有加参数吧!


2006-11-27 22:38
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

顶啊,我们教育网用户的福音啊!





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-27 23:29
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 7 楼』:   使用 LLM 解释/回答一下

忘记加分了,原创辛苦,狂顶





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-27 23:52
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

2个月前弄的自动设置代理的就因为没有法子验证而遗憾,现在呵呵~thanks


   此帖被 +1 点积分    点击查看详情   
评分人:【 snowbbbb 分数: -1  时间:2006-11-28 03:47
评分人:【 无奈何 分数: +2  时间:2006-11-28 05:49


2006-11-28 00:28
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

好东西啊。
下次是不是准备加入排序功能了?


2006-11-28 00:41
查看资料  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

在加入一个自动生成 pac 配置文件的~~哈哈





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-28 01:01
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
a9319751
中级用户





积分 439
发帖 170
注册 2006-1-9
状态 离线
『第 11 楼』:   使用 LLM 解释/回答一下

GNU Wget 1.10.2, a non-interactive network retriever.
Usage: wget ... ...

Mandatory arguments to long options are mandatory for short options too.

Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a `.wgetrc'-style command.

Logging and input file:
-o, --output-file=FILE log messages to FILE.
-a, --append-output=FILE append messages to FILE.
-d, --debug print lots of debugging information.
-q, --quiet quiet (no output).
-v, --verbose be verbose (this is the default).
-nv, --no-verbose turn off verboseness, without being quiet.
-i, --input-file=FILE download URLs found in FILE.
-F, --force-html treat input file as HTML.
-B, --base=URL prepends URL to relative links in -F -i file.

Download:
-t, --tries=NUMBER set number of retries to NUMBER (0 unlimits).
--retry-connrefused retry even if connection is refused.
-O, --output-document=FILE write documents to FILE.
-nc, --no-clobber skip downloads that would download to
existing files.
-c, --continue resume getting a partially-downloaded file.
--progress=TYPE select progress gauge type.
-N, --timestamping don't re-retrieve files unless newer than
local.
-S, --server-response print server response.
--spider don't download anything.
-T, --timeout=SECONDS set all timeout values to SECONDS.
--dns-timeout=SECS set the DNS lookup timeout to SECS.
--connect-timeout=SECS set the connect timeout to SECS.
--read-timeout=SECS set the read timeout to SECS.
-w, --wait=SECONDS wait SECONDS between retrievals.
--waitretry=SECONDS wait 1..SECONDS between retries of a retrieval.
--random-wait wait from 0...2*WAIT secs between retrievals.
-Y, --proxy explicitly turn on proxy.
--no-proxy explicitly turn off proxy.
-Q, --quota=NUMBER set retrieval quota to NUMBER.
--bind-address=ADDRESS bind to ADDRESS (hostname or IP) on local host.
--limit-rate=RATE limit download rate to RATE.
--no-dns-cache disable caching DNS lookups.
--restrict-file-names=OS restrict chars in file names to ones OS allows.
--user=USER set both ftp and http user to USER.
--password=PASS set both ftp and http password to PASS.

Directories:
-nd, --no-directories don't create directories.
-x, --force-directories force creation of directories.
-nH, --no-host-directories don't create host directories.
--protocol-directories use protocol name in directories.
-P, --directory-prefix=PREFIX save files to PREFIX/...
--cut-dirs=NUMBER ignore NUMBER remote directory components.

HTTP options:
--http-user=USER set http user to USER.
--http-password=PASS set http password to PASS.
--no-cache disallow server-cached data.
-E, --html-extension save HTML documents with `.html' extension.
--ignore-length ignore `Content-Length' header field.
--header=STRING insert STRING among the headers.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
--referer=URL include `Referer: URL' header in HTTP request.
--save-headers save the HTTP headers to file.
-U, --user-agent=AGENT identify as AGENT instead of Wget/VERSION.
--no-http-keep-alive disable HTTP keep-alive (persistent connections).
--no-cookies don't use cookies.
--load-cookies=FILE load cookies from FILE before session.
--save-cookies=FILE save cookies to FILE after session.
--keep-session-cookies load and save session (non-permanent) cookies.
--post-data=STRING use the POST method; send STRING as the data.
--post-file=FILE use the POST method; send contents of FILE.

HTTPS (SSL/TLS) options:
--secure-protocol=PR choose secure protocol, one of auto, SSLv2,
SSLv3, and TLSv1.
--no-check-certificate don't validate the server's certificate.
--certificate=FILE client certificate file.
--certificate-type=TYPE client certificate type, PEM or DER.
--private-key=FILE private key file.
--private-key-type=TYPE private key type, PEM or DER.
--ca-certificate=FILE file with the bundle of CA's.
--ca-directory=DIR directory where hash list of CA's is stored.
--random-file=FILE file with random data for seeding the SSL PRNG.
--egd-file=FILE file naming the EGD socket with random data.

FTP options:
--ftp-user=USER set ftp user to USER.
--ftp-password=PASS set ftp password to PASS.
--no-remove-listing don't remove `.listing' files.
--no-glob turn off FTP file name globbing.
--no-passive-ftp disable the "passive" transfer mode.
--retr-symlinks when recursing, get linked-to files (not dir).
--preserve-permissions preserve remote file permissions.

Recursive download:
-r, --recursive specify recursive download.
-l, --level=NUMBER maximum recursion depth (inf or 0 for infinite).
--delete-after delete files locally after downloading them.
-k, --convert-links make links in downloaded HTML point to local files.
-K, --backup-converted before converting file X, back up as X.orig.
-m, --mirror shortcut for -N -r -l inf --no-remove-listing.
-p, --page-requisites get all images, etc. needed to display HTML page.
--strict-comments turn on strict (SGML) handling of HTML comments.

Recursive accept/reject:
-A, --accept=LIST comma-separated list of accepted extensions.
-R, --reject=LIST comma-separated list of rejected extensions.
-D, --domains=LIST comma-separated list of accepted domains.
--exclude-domains=LIST comma-separated list of rejected domains.
--follow-ftp follow FTP links from HTML documents.
--follow-tags=LIST comma-separated list of followed HTML tags.
--ignore-tags=LIST comma-separated list of ignored HTML tags.
-H, --span-hosts go to foreign hosts when recursive.
-L, --relative follow relative links only.
-I, --include-directories=LIST list of allowed directories.
-X, --exclude-directories=LIST list of excluded directories.
-np, --no-parent don't ascend to the parent directory.

Mail bug reports and suggestions to <
bug-wget@gnu.org>.


2006-11-28 01:01
查看资料  发送邮件  发短消息  网志  OICQ (5040366)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 12 楼』:   使用 LLM 解释/回答一下



下次是不是准备加入排序功能了?

  兄弟说的是以什么排序?

在加入一个自动生成 pac 配置文件的~~哈哈

  不懂pac文件的格式,请指点一下。。


2006-11-28 03:44
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
snowbbbb
初级用户





积分 118
发帖 42
注册 2006-9-14
状态 离线
『第 13 楼』:   使用 LLM 解释/回答一下

先给vkill兄弟说声对不起~ 点着看的时候不小心点到那了 好奇之下看了看 结果扣了你一分
你也来扣我一分吧 或者哪天我见你发言的时候再给你加上一分


2006-11-28 03:48
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 14 楼』:   使用 LLM 解释/回答一下

排序是指,用户指定一个网页要上,然后按连接这个网页的速度把可用代理显示出来。


2006-11-28 04:32
查看资料  发短消息  网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 15 楼』:   使用 LLM 解释/回答一下

好啊!刚刚试过,很棒!给兄加分了。




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-11-28 04:46
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: