最近,需要在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]