wget支持HTTP 和SOCKS代理。因为要mirror的是
web,因此仅仅使用了HTTP的代理。
51Testing软件测试网V&sh{+n1Xq b!Z wget每次启动都要读一个wgetrc文件,可以在这个文件中设置代理服务器。51Testing软件测试网!d+v5mzyYRm
51Testing软件测试网D s_wa!G/D[ wgetrc缺省存放在/usr/local/etc/下,也可以在$HOME/下创建.wgetrc。51Testing软件测试网km4M3QG9b4Z
2^J'|;]%e0e0方法一:51Testing软件测试网4kLj}
m5y1MpX
51Testing软件测试网(j8I](X3b6O7Z\k配置步骤:51Testing软件测试网E9U)_(YKcu'd7C
51Testing软件测试网2qY7q1N,s%L/EE1、创建$HOME/.wgetrc文件51Testing软件测试网$o4|*^EjzWt
51Testing软件测试网(l}\Aek!EHS;X3V2、编辑文件,添加如下内容:51Testing软件测试网dBT$]^
#===========Sample of wgetrc=================
!P4C8IeVG"~4lvy0 #添加代理服务器51Testing软件测试网9At0J&p;NIP6L.M8z
http_proxy =www.yourproxy.cc51Testing软件测试网*md%x#_/rb!K:c^[
#以下几种格式也可以,如果不写端口,缺省为8051Testing软件测试网V
I#p,b#d3R'K
#http_proxy =www.yourproxy.cc:8080
&{"dAh2]6l PZ0 #http_proxy =http://www.yourproxy.cc
zf8e@,vV0 #http_proxy =http://www.yourproxy.cc:8080/
'L UrV*c{051Testing软件测试网2N0T
IIhd3A$l-C #如果不使用代理服务器,此处设置为off
s9Z!wr;\mve2P5L0 use_proxy = on
;|(x9Wmb)KDH%x,R0 #============================================51Testing软件测试网4D%M+L)C+a0k w/O{gnC7Y
G9z9l*{.v_03、运行wget
v
Jf,ucQ7t3t(hZE051Testing软件测试网@2t@akr-n方法二:51Testing软件测试网0s$|1R.aGq}D3Y
51Testing软件测试网[;\,M*r4|(l 安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。51Testing软件测试网/oqC:[3MJ9}+bOK
51Testing软件测试网Feuf)O3p注意:运行wget之前需要将wgetrc中的代理服务器注释掉
ei3X!L4D,X.B0O R'I7[R sj)RVt1k0 配置完毕后运行如下命令:
1bb^1IUAbl051Testing软件测试网A3`z.r~P #runsocks wget -m [http://site1 |ftp://site2]51Testing软件测试网4\SA$bV@u-\
51Testing软件测试网.cBehp%f
b 经测试,可以正常镜像http和ftp站点。
.Bp};E%l0_d$}jvFrH0遗留问题:
PLzl0R2A0 51Testing软件测试网fm;G`.J7y5D.e/B
以上使用的都是HTTP代理,用一个Socks的代理做了一个测试,返回的错误是header parse error.@_@
T#d!ec;F$x2y1K5~051Testing软件测试网"@+m,`6`]G/W
Bpj}2s 因为这个wget是使用rpm方式安装的。如果想支持Socks代理,需要在configure的时候带–with-socks选项。51Testing软件测试网|4FqL*\*lR
51Testing软件测试网-~_f3t,P A`[1Vt2j 使用–with-socks编译wget后,无法正常使用socks5代理。51Testing软件测试网LXqQ8_#@
)ig!IH)NO/alMf+l0参考文档:
-Fs!d'U(r#u;]051Testing软件测试网oj['y,CY_ wgetrc文件的其他配置其他参考wget的man.51Testing软件测试网$[4v+Shw6g ?o {
hX-?8C+o j9E R%m-B0 另外http://www.gnu.org/manual/wget/html_chapter/wget_toc.html也有较为详细地介绍和sample file.51Testing软件测试网4OX
}R1]?o`9L
51Testing软件测试网i7QC1ax7{C=======================
F;P&\]+SA[0为wget设置代理 |
51Testing软件测试网$l*Fx"v"u;A:A wget本身没有专门设置代理的命令行参数,但是有一个"-e"参数,可以在命令行上指定一个原本出现在".wgetrc"中的设置。于是可以变相在命令行上指定代理:51Testing软件测试网+J:S{a&Tz-e*y_6a 51Testing软件测试网7K;GQHf+MY&c mwget -e "http_proxy=http://<ip>:<port>/"http://www.google.com51Testing软件测试网$V:w$N$sIA$`l erZo&u0cw rK0另一个办法就是先设置环境变量: B/j6L(_!Ve051Testing软件测试网4Y:j
`{+A}R1Q,tset http_proxy=http://<ip>:<port>/ #U? j6z3PV u;`o^8M0 |
51Testing软件测试网Z[y cj#Fr.k========================
0^p!F%}4kD0export http_proxy="90.0.0.202:2000"
-\[-R6V
a1{8h0export ftp_proxy="90.0.0.202:2000"
3MB|C-DrA
H0其中90.0.0.202:2000按照实际需要设定
im4IG0{2S0
/Z.nD_6F%MY-|{.q0zzp!a(^:m/Z;Z5H9Y4s0======================
"`+qW9p!C5}014.6 wget指定代理
http://www.opencjk.org/~scz/unix/200605091153.txt
A: tk@nsfocus
wget本身没有专门设置代理的命令行参数,但是有一个"-e"参数,可以在命令行上指
定一个原本出现在".wgetrc"中的设置。于是可以变相在命令行上指定代理:
wget -e "http_proxy=<ip>:<port>" http://www.google.com
另一个办法就是先设置环境变量:
set http_proxy=<ip>:<port>
除了http_proxy,wget还支持ftp_proxy环境变量:
wget -e "ftp_proxy=<ip>:<port>" ftp://...