在passwd中导出HTTP_PROXY和特殊字符


8

假设为了论证,我在下面输入的密码是 abc123@

我需要通过公司代理对我的linux计算机进行身份验证,以获取补丁和更新...通常,我会使用以下命令:

export HTTP_PROXY='http://<Americas\Username>:<Password>@proxy.foo.com'
export http_proxy='http://<Americas\Username>:<Password>@proxy.foo.com'

但是,当我用以结尾的真实密码替换@然后运行时aptitude update,我得到...

[mpenning@netwiki ~]$ sudo -E aptitude update
Err http://mirror.anl.gov squeeze Release.gpg
  Could not resolve '@proxy.foo.com'
Err http://mirror.anl.gov/debian/ squeeze/main Translation-en
  Could not resolve '@proxy.foo.com'

我尝试用\@,,,\@\@双字符(@@)来转义密码,并且似乎没有什么可以正确地代理此密码。直到最近更改了密码,我才开始遇到问题。

退出密码的正确方法是什么bash

Answers:



1

更简单,更可靠!

通用语法:

sudo {http,https,ftp}_proxy=http://<username>:<password>@<proxy_url/_proxyip>:<port>/ wget --timeout=5 --no-check-certificate http://<website_url>

例:

[root@localhost ~]# sudo {http,https,ftp}_proxy=http://username:password-123@proxy.example.com:6050/ wget --timeout=5 --no-check-certificate http://google.com

{http,https,ftp} _proxy- > http,https,ftp网址。以逗号分隔。

--timeout = 5- >连接可以在几秒钟内保持活动状态。

-no-check-certificate- >忽略SSL /证书验证。

--spider- >如果要在不下载文件的情况下测试连接性。

笔记:

在线转换器:

用等效的十六进制unicode替换特殊字符。有关unicode的列表,请访问网站https://unicode-table.com(或)http://unicodelookup.com。

使用Python的本地转换器:

参考:将密码“ p @ s#w:E”转换为unicode的方法如下:

@ = %40
$ = %24
# = %23
: = %3A
p@s#w:E = p%40s%23w%3AE

输入:

[root@localhost ~]# python -c "import sys, urllib as enc; print enc.quote_plus(sys.argv[1])" "p@s#w:E"

输出:

p%40s%23w%3AE

0

请在您的密码中使用%40代替@,

例如:

您的密码是“ A @ ple123”,然后使用“ A%40ple123”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.