Set/Export: http_proxy With Special Characters In Password Under Unix / Linux

Posted on in Categories , , , last updated December 4, 2012

My proxy server password has special characters such as !,@, and so on. How do I set and export the variable called http_proxy or HTTP_PROXY when password has special characters under Unix like operating systems?

If your password is [email protected]:o!B#ar$ and set http_proxy as follows:

export http_proxy="http://user:[email protected][email protected]:3128/"

You may get the error due to special characters. The solution is to use unicode characters in hexadecimal. You can use command line tool such as unum or gnome-character-map to convert special characters into hexadecimal unicode.


Convert @:!#$ into equivalent hexadecimal unicode using unum command:
$ unum '@:!#$'
Sample outputs:

   Octal  Decimal      Hex        HTML    Character   Unicode
    0100       64     0x40       @    "@"         COMMERCIAL AT
     072       58     0x3A       :    ":"         COLON
     041       33     0x21       !    "!"         EXCLAMATION MARK
     043       35     0x23       #    "#"         NUMBER SIGN
     044       36     0x24       $    "$"         DOLLAR SIGN

In this example @ becomes %40, : becomes %3A, and so on. Find and replace all special characters with unicode hexs. Find:
[email protected]:o!B#ar$
Replace with:
Finally, set and export http_proxy, HTTP_PROXY in the following format:

export http_proxy="http://user:[email protected]:3128/"

Test it:
$ curl -I
$ wget

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

6 comment

Leave a Comment