exportar HTTP_PROXY e caracteres especiais na senha

8

Suponha que, por uma questão de argumento, minha senha abaixo seja abc123@

Preciso autenticar minha máquina Linux através de um proxy corporativo para obter correções e atualizações ... normalmente, eu usaria isso:

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

No entanto, quando substituo uma senha real que termina com @e depois corro aptitude update, recebo ...

[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'

Eu tentei escapar da senha com \@, escapando de ambos com \@\@caracteres duplos ( @@) e nada parece fazer com que esse proxy seja corretamente; Eu nunca tive um problema até alterar minha senha recentemente.

Qual é o caminho certo para escapar da minha senha bash?

Mike Pennington
fonte

Respostas:

1

Ainda mais simples e confiável!

Sintaxe geral:

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

Exemplo:

[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 -> URLs de http, https e ftp. Separado por vírgula.

--timeout = 5 -> Conexão para manter viva em segundos.

-no-check-certificate -> Ignore SSL / Certificate Verification.

--spider -> Se você quiser testar a conectividade sem baixar o arquivo.

Notas:

Conversor Online:

Substitua caracteres especiais por seu unicode hexadecimal equivalente. Para obter uma lista de unicodes, consulte o site https://unicode-table.com (ou) http://unicodelookup.com

Conversor local usando Python:

Referência: a conversão da senha "p @ s # w: E" para unicode será a seguinte,

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

Entrada:

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

Resultado:

p%40s%23w%3AE
MSArun
fonte
0

use% 40 no lugar de @ na sua senha,

por exemplo:

sua senha é "A @ ple123" e use "A% 40ple123"

Vedavyas
fonte