Linux 设置代理时, 密码出现特殊字符怎么办?

配置代理的格式一般是这样的:

$ export https_proxy=https://用户名:密码@代理地址:代理端口

比如需要配置这些:

$ export http_proxy=http://CodeCore:@MingHou233!@172.16.2.17:8787  
$ export https_proxy=http://CodeCore:@MingHou233!@172.16.2.17:8787
$ export no_proxy=127.0.0.1,localhost
$ export ftp_proxy=http://CodeCore:@MingHou233!@172.16.2.17:8787

 

如果直接输入 BASH 会报错: bash: !@172.16.2.17: event not found

解决办法 就是将特殊字符转换成 ASIIC 码形式输入, 以 % + Hex 形式(0x忽略).

参考链接: ASCII Reference

比如常见的会出现在密码中的特殊字符:

~ : 0x7E,         ! : 0x21    
@ : 0x40,         # : 0x23  
$ : 0x24,         % : 0x25  
^ : 0x5E,         & : 0x26  
* : 0x2A,         ? : 0x3F   

$ export HTTP_PROXY=http://CodeCore:%40MingHou233%21@172.16.2.17:8787  
$ export HTTPS_PROXY=https://CodeCore:%40MingHou233%21@172.16.2.17:8787    
posted @ 2017-10-17 15:09  邱明成  阅读(18540)  评论(0编辑  收藏  举报