在Linux命令行界面使用代理服务器上网
系统环境:Red Hat Enterprise Linux Server release 5 (kernel 2.6.18-8.el5xen)
软件环境:
elinks-0.11.1-5.1.el5
lynx-2.8.5-28.1
wget-1.10.2-7.el5
krb5-workstation-1.5-17
prozilla-2.0.4.tar.bz2 http://prozilla.genesys.ro/downl ... zilla-2.0.4.tar.bz2
目标功能:
通过指定代理服务器,在Linux命令行界面访问web网站、及下载软件
(适合某些局域网必须指定代理服务器才能上网的场合)
一、命令行界面的一般代理设置方法
1、在profile文件中设置相关环境变量
# vi /etc/profile
http_proxy=192.168.20.20:3128 # 分别指定http、https、ftp协议使用的代理服务器地址
https_proxy=192.168.20.20:3128
ftp_proxy=192.168.20.20:3128
no_proxy=192.168.20. # 访问局域网地址(192.168.20.0/24网段)时不使用代理,可以用逗号分隔多个地址
export http_proxy https_proxy ftp_proxy no_proxy
保存退出,注销重新登陆系统即可生效。
2、经测试结果:
可以使用wget命令通过代理下载文件(如下行命令可以递归下载FreeBSD的整个中文手册目录):
# wget -krp -np http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/
可以使用elinks访问web网站(适合在终端下访问以文字为主的英文网站)
使用lynx上网时,貌似如果代理服务器使用的是Microsoft ISA,则不支持。
二、安装prozilla多线程下载工具及代理设置
1、安装prozilla
# wget http://prozilla.genesys.ro/downl ... zilla-2.0.4.tar.bz2
# tar zxvf prozilla-2.0.4.tar.bz2 -C /usr/src/
# cd /usr/src/prozilla-2.0.4
# ./configure
# make && make install
[错误提示:]
若编译时报“download_win.h:55: 错误:有多余的限定 ‘DL_Window::’”错误,则按提示修改出错文件,再重新编译即可:
—— 将源代码里 /usr/src/prozilla-2.0.4/src/download_win.h 文件的第55行,由原来的:
void DL_Window::print_status(download_t * download, int quiet_mode);
更改为:
void print_status(download_t * download, int quiet_mode);
2、指定代理服务器地址
# vi ~/.prozilla/prozconfig
httpproxy=192.168.20.20:3128
httpproxyuser=
httpproxypassword=
httpproxytype=7
usehttpproxy=1
ftpproxy=192.168.20.20:3128
ftpproxyuser=
ftpproxypassword=
ftpproxytype=7
useftpproxy=1
3、下载示例(指定以并发10个线程下载):
# proz -k 10 http://prozilla.genesys.ro/downl ... zilla-2.0.4.tar.bz2
三、附参考:自动登陆ftp及下载文件的shell脚本
1、vi autoftp1.sh
#!/bin/bash
ftp -iun 192.168.20.20 2121 2>/dev/null <<"EOF"
user ftp ftp
binary
lcd /tmp
cd /files
mget *.tar.gz
bye
EOF
或者
2、vi autoftp2.sh
#!/bin/bash
host=192.168.20.20
port=2121
username=ftp
password=ftp
echo "open $host $port
user $username $password
binary
lcd /tmp
cd /files
mget *.tar.gz
bye" > /tmp/ftp.txt
ftp -iun < /tmp/ftp.txt
rm -rf /tmp/ftp.txt