十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

如何在wget中使用代理服务器

上一篇 / 下一篇  2010-02-09 17:07:11 / 个人分类:其它

   wget支持HTTP 和SOCKS代理。因为要mirror的是web,因此仅仅使用了HTTP的代理。51Testing软件测试网V&sh{+n1Xq b!Z

    wget每次启动都要读一个wgetrc文件,可以在这个文件中设置代理服务器51Testing软件测试网!d+v5mzyYRm

51Testing软件测试网D s_w a!G/D[

    wgetrc缺省存放在/usr/local/etc/下,也可以在$HOME/下创建.wgetrc。51Testing软件测试网km4M3QG9b4Z

2^J'|;]%e0e0方法一:51Testing软件测试网4kLj} m5y1MpX

51Testing软件测试网(j8I](X3b6O7Z \k

配置步骤:51Testing软件测试网E9U)_(Y Kcu'd7C

51Testing软件测试网2qY7q1N,s%L/EE

1、创建$HOME/.wgetrc文件51Testing软件测试网$o4|*^EjzWt

51Testing软件测试网(l}\Aek!EH S;X3V

2、编辑文件,添加如下内容:51Testing软件测试网dBT$]^
   #===========Sample of wgetrc=================
!P4C8IeVG"~4lvy0   #添加代理服务器51Testing软件测试网9At0J&p;N IP6L.M8z
   http_proxy =www.yourproxy.cc51Testing软件测试网*md%x#_/rb!K:c^[
   #以下几种格式也可以,如果不写端口,缺省为8051Testing软件测试网V I#p,b#d3R'K
   #http_proxy =www.yourproxy.cc:8080
&{"d Ah2]6l PZ0   #http_proxy =http://www.yourproxy.cc
zf8e@,vV0   #http_proxy =http://www.yourproxy.cc:8080/

'LUrV*c{051Testing软件测试网2N0T IIhd3A$l-C

   #如果不使用代理服务器,此处设置为off
s9Z!wr;\mve2P5L0   use_proxy = on
;|(x9Wmb)KDH%x,R0   #============================================51Testing软件测试网4D%M+L)C+a0kw/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.B0

O 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,PA`[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+oj9E 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+M Y&c m

wget -e "http_proxy=http://<ip>:<port>/"http://www.google.com51Testing软件测试网$V:w$N$s IA$`l

erZo&u0c w rK0另一个办法就是先设置环境变量:

B/j6L(_!Ve051Testing软件测试网4Y:j `{+A}R1Q,t

set 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-Dr A H0
其中90.0.0.202:2000按照实际需要设定

im4IG0{2S0

/Z.nD_6F%MY-|{.q0

zzp!a(^:m/Z;Z5H9Y4s0======================

"`+qW9p!C5}0
14.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://...

TAG: wget 代理服务器

 

评分:0

我来说两句

Open Toolbar