|
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:‍=!"
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 ]
In daily internet surfing, sometimes proxy servers are used. The usual way is to go to some websites that provide proxy server lists to find the proxies we want. But there are many proxies above that are unavailable.难道要 manually test one by one which proxy is available? Our batch script can complete this task.
Using the proxy function of wget, download a fixed web page, such as www.baidu.com. I downloaded the web page www.ip138.com to achieve the purpose of simply detecting whether the proxy server lists of some websites are available. The website I used to provide the proxy server list is: http://www.cnproxy.com/proxyedu1.html
This batch processing cannot perfectly achieve our purpose. There are still many parameters and formats that can be modified. Everyone can modify the statements and parameters in it according to their own wishes. Everyone can also post their opinions if they have any. This batch processing is best run in a folder because many files will be generated in the middle.
Regarding the small tool wget, you can search in the forum to find it.
Here, I would like to thank Brother electronixtar for the proposal and Brother redtek for the help.
@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:‍=!"
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 ]
|
|
2006-11-27 12:27 |
|
|
无奈何
荣誉版主
      
积分 1338
发帖 356
注册 2005-7-15
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
不错,不错,应该好好挖掘一下 wget 的功能。
wget 有几点给你补充一下:
wget -q 不输出下载记录信息
wget -O - 将下载内容输出到屏幕,不写入文件。
Not bad, not bad. We should dig deeper into the functions of wget.
Here are a few points to supplement about wget:
wget -q does not output download record information
wget -O - outputs the downloaded content to the screen instead of writing to a file
|

☆开始\运行 (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 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
多谢版主的指点啊。
由于刚学习使用wget,所以还没发现这么多好用的参数呢,就连那个-t参数都是百度了才知道的。汗一个。
我再把代码完善一下。
Thanks for the moderator's guidance.
Since I just started learning to use wget, I haven't discovered so many useful parameters yet. Even the -t parameter was only found out after searching Baidu. Sweat.
I'll improve the code again.
|
|
2006-11-27 12:53 |
|
|
redtek
金牌会员
     
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
这么好玩的代码,又实用又给下载提供了更多的方便~:)))
欣赏~~
Such a fun code, it's practical and provides more convenience for downloading~ :))) Appreciate it~~
|

Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-11-27 22:06 |
|
|
vkill
金牌会员
     
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
我以前也试过wget && 没有试成,可能没有加参数吧!
I also tried wget before && didn't succeed, maybe I didn't add parameters!
|
|
2006-11-27 22:38 |
|
|
electronixtar
铂金会员
      
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
顶啊,我们教育网用户的福音啊!
Top it's a boon for users of our education network!
|

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 解释/回答一下
忘记加分了,原创辛苦,狂顶
Forgot to add points, original work is hard, highly recommend
|

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
The automatic proxy setup done 2 months ago was a pity because there was no way to verify it. Now heh~ 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 解释/回答一下
好东西啊。
下次是不是准备加入排序功能了?
What a good thing. Will you be preparing to add a sorting function next time?
|
|
2006-11-28 00:41 |
|
|
electronixtar
铂金会员
      
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
在加入一个自动生成 pac 配置文件的~~哈哈
When joining an automatic generation of pac configuration file ~~ haha
|

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>.
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 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
下次是不是准备加入排序功能了?
兄弟说的是以什么排序?
在加入一个自动生成 pac 配置文件的~~哈哈
不懂pac文件的格式,请指点一下。。
Is there going to be a sorting function next time?
Brother, what do you mean by sorting?
I'm going to add an automatic generation of the pac configuration file~~ haha
I don't understand the format of the pac file, please give me some guidance.
|
|
2006-11-28 03:44 |
|
|
snowbbbb
初级用户
 
积分 118
发帖 42
注册 2006-9-14
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
先给vkill兄弟说声对不起~ 点着看的时候不小心点到那了 好奇之下看了看 结果扣了你一分
你也来扣我一分吧 或者哪天我见你发言的时候再给你加上一分
First, say sorry to brother vkill~ When I was clicking to see, I accidentally clicked there. Out of curiosity, I took a look, and as a result, I deducted one point from you. You can also deduct one point from me, or I'll add one point back to you when I see your post some day.
|
|
2006-11-28 03:48 |
|
|
NaturalJ0
银牌会员
    
积分 1181
发帖 533
注册 2006-8-14
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
排序是指,用户指定一个网页要上,然后按连接这个网页的速度把可用代理显示出来。
Sorting means that the user specifies a web page to access, and then displays available proxies according to the speed of connecting to this web page.
|
|
2006-11-28 04:32 |
|
|
ccwan
金牌会员
     
积分 2725
发帖 1160
注册 2006-9-23 来自 河北廊坊
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
好啊!刚刚试过,很棒!给兄加分了。
Great! Just tried it and it's wonderful! I've given you extra points, brother.
|

三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。 |
|
2006-11-28 04:46 |
|
|