Q. I'm behind a squid proxy server. How do I access internet via proxy server when I use wget, lynx and other utilities from a shell prompt?
A. Linux / UNIX has environment variable called http_proxy. It allows you to connect text based session / application via the proxy server. All you need is proxy server IP and port values. This variable is almost used by all utilities such as elinks, lynx, wget, curl and others.
Set http_proxy shell variable
Type the following command to set proxy server:
$ 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/
How do I setup proxy variable for all users?
To setup the proxy environment variable as a global variable, open /etc/profile file:
# vi /etc/profile
Add the following information:
export http_proxy=http://proxy-server.mycorp.com:3128/
Save and close the file.
How do I use password protected proxy server?
You can simply use wget as follows:
$ wget --proxy-user=USERNAME --proxy-password=PASSWORD http://path.to.domain.com/some.html
Lynx has following syntax:
$ lynx -pauth=USER:PASSWORD http://domain.com/path/html.file
Curl has following syntax:
$ curl --proxy-user user:password http://url.com/
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- My 10 UNIX Command Line Mistakes
- Linux: 20 Iptables Examples For New SysAdmins

- 25 PHP Security Best Practices For Sys Admins
- The Novice Guide To Buying A Linux Laptop
- 10 Greatest Open Source Software Of 2009
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
Facebook it - Tweet it - Print it -


{ 11 comments… read them below or add one }
For password protected proxies, I know it sometimes work directly included in http_proxy variable (ok it’s not so secure but it can make the work easier) :
$ export http_proxy=http://user:password@server-ip:port/
Great work. This worked for me. Thanks.
It is really correct?
export export http_proxy=http://proxy-server.mycorp.com:3128/
Slavko,
It was a typo. The faq has been updated.
Hi
I tried this, but still, I cannot ping google or any other site from within the shell.. it says ‘destination host unreachable’..
I’m using Redhat Enterprise 2.4..
Any idea what might be going wrong?
Thanks
Pravin
Until and unless you put the DNS server it won’t ping
Very Good Man!
Thanks!
above is good for for text based but for a simple linux user using firefox how can b a proxy server can b used like fedora core 8
proxy setting syntax:
export http_proxy=http://:@:/
export ftp_proxy=http://:@:/
it works for ishtiyaq :)
export http_proxy=http://user:pasword@proxy-server.mycorp.com:port/
export ftp_proxy=http://user:pasword@proxy-server.mycorp.com:port/
Is there support for excluding sites or a regex from using the proxy?
It seems that there is options for some commands, but is there a centralized option?
I.E. something like:
export no_http_proxy=*.ibm.com,10.0.0.0\24,…