如何使用代理服务器通过http_proxy变量在Shell提示符下访问Internet
时间:2020-01-09 10:42:22 来源:igfitidea点击:
我通过Squid代理服务器上网。在Linux或者类似Unix的系统上,通过shell提示使用wget,lynx和其他实用程序时,如何通过代理服务器访问Internet?类似于Linux和UNIX的系统具有称为http_proxy的环境变量。它允许您通过代理服务器连接基于文本的会话和/或者应用程序。您只需要代理服务器IP地址(URL)和端口值即可。该变量几乎由所有实用程序使用,例如elinks,lynx,wget,curl和其他命令。
在Linux/OS X/Unix bash shell上设置http_proxy shell变量
执行以下命令来设置代理服务器:
$ export http_proxy=http://server-ip:port/ $ export http_proxy=http://127.0.0.1:3128/ $ export http_proxy=http://proxy-server.mycorp.com:3128/
如果代理服务器需要用户名和密码,则将其添加到URL。
例如,要包括用户名foo和密码栏:
$ export http_proxy=http://foo:bar@server-ip:port/ $ export http_proxy=http://foo:[email protected]:3128/ $ export http_proxy=http://USERNAME:[email protected]:3128/
如何为所有用户设置代理变量?
要将代理环境变量设置为全局变量,请打开/etc/profile文件:
# vi /etc/profile
添加以下信息:
export http_proxy=http://proxy-server.mycorp.com:3128/
或者
export http_proxy=http://USERNAME:[email protected]:3128/
保存并关闭文件。
关于对特定用户启用代理访问的说明
要为特定用户启用代理访问,请添加用户shell程序行配置文件。
对于默认的bash shell,配置文件是文件.bash_profile。
例如,为名为Hyman的特定用户启用代理访问,执行:
$ vi $HOME/.bash_profile
或者
# vi /home/Hyman/.bash_profile
追加以下行:
export http_proxy=http://USERNAME:[email protected]:3128/
保存并关闭文件。
如何通过各种命令行选项使用受密码保护的代理服务器?
您可以简单地使用wget命令,如下所示:
$ wget --proxy-user=USERNAME --proxy-password=PASSWORD http://path.to.domain.com/some.html
Lynx命令具有以下语法:
$ lynx -pauth=USER:PASSWORD http://domain.com/path/html.file
Curl命令具有以下语法:
$ curl --proxy-user user:password http://url.com/