wget是一个基于命令行的小巧而又功能强大的下载工具,至今没有发现与之匹敌的软件。wget本是*inx下的程序,后有人port到了windows平台下。
wget的强大功能无须多言,但是在windows平台下,下载代理的设置一直没有琢磨透。在*inx平台下,只需要在用户目录中增加.wgetrc文件,其中加上如下两行即可:
http-proxy=proxy.satwe.com:8080
ftp-proxy=proxy.satwe.com:8080
如果代理需要用户名密码,则可以在命令行中指定,如
wget –proxy=on –proxy-user=hamo –proxy-password=8888 http://www.satwe.com
但是在windows平台下,这个.wgetrc文件一直没有搞定,网上有如下两种方法:
- 在用户变量中增加HOME,指向某一目录,然后在该目录中放置.wgetrc文件,或者
- 在用户变量中增加WGETRC,指向.wgetrc文件的绝对路径
第一种方法试过,没有效果,第二种方法倒是起作用,但是运行wget时候总是提示“c:/.wgetrc”没有这个文件(c:/.wgetrc是WGETRC指定的)。
最后没有办法,再研究wget的帮助,赫然发现有个“-e”的选项,可以执行在.wgetrc中的指令,于是就简单了。此方法也适用于想在命令行直接指定代理的需要。
这样写就可以了:
wget -e http-proxy=proxy.satwe.com:8080 –proxy=on –proxy-user=hamo –proxy-passwd=8888 -c http://www.satwe.com
工作正常,至于如何windows平台下使用.wgetrc文件,欢迎指教。
3 replies on “在wget命令行中使用代理”
使wget忽略robots.txt的限制
wget -e robots=off …
windows下方法一样啊,哈哈。你在linux平台建一个文件,然后往win下面拷贝.wgetrc, 我是把这2个文件都放到system32下的。 😉
还有个办法,在命令行里设置变量
set http_proxy=192.168.1.1:8080
使用.wgetrc文件的办法请参考
http://onlybug.72pines.com/2010/07/26/windows%E4%B8%8B%E8%AE%BE%E7%BD%AEwget%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/