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

last updated in Categories , , ,

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 F@o:o!B#ar$ and set http_proxy as follows:


export http_proxy="http://user:F@oo!B#ar$"

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:
Replace with:
Finally, set and export http_proxy, HTTP_PROXY in the following format:

export http_proxy=""

Test it:
$ curl -I
$ wget


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

6 comment

  1. How should I write my username and passowrd
    username is itibri\t68
    and password is 2008

  2. Thanks bro. Its working like a charm. I was facing this problem since years and I gave up. Now its working. Thank You.

    Still, have a question? Get help on our forum!