转自:http://www.darinwang.com/?p=190

最近,需要在linux环境下使用脚本进行一些网络访问(主要是HTTP请求与文件下载),于是查阅了一些关于代理的资料。

以下是尝试的几种代理设置方法,以供参考:

一、使用wget命令进行代理访问

wget非常强大,支持代理设置,代理可以在环境变量或wgetrc文件中设定

方法1:当前环境变量设置

#export PROXY=http://219.239.66.253:80/
这样,就可以使用wget进行代理下载境外网络了。
不过,这种环境变量设置只对当前环境有效,重启后设置将消失。

方法2:wget配置文件设置

#vi /etc/wgetrc
ftp_proxy = http://219.239.66.253:80/
http_proxy = http://219.239.66.253:80/
https_proxy = http://219.239.66.253:80/ (注意:无引号”")

方法3:wget命令行参数中设置

wget支持-e参数来进行代理设置
#wget -e “http_proxy=http://[username]:[password]@proxyip:port/” “http://www.baidu.com”
其中,-e, –execute=COMMAND   执行`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc记录和输入文件

实例:下面主要对方法3进行测试,对blogspot.com进行访问(google博客网站,一般会被阻断),如图1与图2.

图1 未使用代理时访问情况(访问失败)

图2 使用代理是访问情况(访问成功)

二、在环境变量中进行代理设置

主要是在/etc/profile文件中环境变量设置代理(机器重启后代理设置效果不在消失)。

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

ftp_proxy=222.47.26.12:8888
http_proxy=222.47.26.12:8888
https_proxy=222.47.26.12:8888
no_proxy=192.168.95.20
export ftp_proxy
export http_proxy
export https_proxy
export no_proxy

添加完后重启系统即可。这时所有的网络连接均通过代理来联网。

实例:[root@localhost ~]# wget “www.blogger.com”
–2011-09-06 07:29:17–  http://www.blogger.com/
Connecting to 222.47.26.12:8888… connected.
Proxy request sent, awaiting response… 200 OK
Length: 81 [text/html]
Saving to: `index.html’

100%[====================================>] 81          –.-K/s   in 0s

2011-09-06 07:29:17 (7.72 MB/s) – `index.html’ saved [81/81]