apt-get落后代理.用户名和密码中的特殊字符

Lev*_*viX 4 linux apt-get ubuntu-10.04

我想设置apt-get在我的ubuntu盒子上使用代理.我已成功配置synaptic以使用代理,因此我可以安装软件包,但我希望能够使用命令行.

我的工作代理需要用户名和密码,两者都有特殊字符.

在我的.bashrc

export http_proxy="http://user@company:P@$$1234@10.20.30.40:80/"
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.

我也试过逃避特殊字符,但这似乎也不起作用:

export http_proxy="http://user\@company:P\@\$\$1234@10.20.30.40:80/"
Run Code Online (Sandbox Code Playgroud)

Lev*_*viX 6

似乎是两件事的组合.我需要为特殊字符使用转义码,我需要添加条目/etc/apt/apt.conf.(据说,导出_proxy环境变量应该使apt-get工作,但我没有那么幸运.)

/etc/apt/apt.conf:

APT::Get::AllowUnauthenticated 1;
Acquire::http::proxy "http://user%40company:P%40%24%241234@10.20.30.40:80/";
Acquire::ftp::proxy "ftp://user%40company:P%40%24%241234@10.20.30.40:80/";
Acquire::https::proxy "https://user%40company:P%40%24%241234@10.20.30.40:80/";
Run Code Online (Sandbox Code Playgroud)

.bashrc:

export http_proxy="http://user%40company:P%40%24%241234@10.20.30.40:80/";
export ftp_proxy="ftp://user%40company:P%40%24%241234@10.20.30.40:80/";
export https_proxy="https://user%40company:P%40%24%241234@10.20.30.40:80/";
Run Code Online (Sandbox Code Playgroud)

  • 可以在此处找到URL编码:http://www.w3schools.com/tags/ref_urlencode.asp (2认同)