議論のために、私のパスワードは次のとおりです。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
?
答え1
あなたは試すことができますURLエンコードあなたのパスワード。@
と交換する必要があります%40
。
Linuxでのプロキシパスワードの特殊文字の処理これはうまくいくべきだと提案しましたが、他の人を見回すとうまくいかないようです(そしてこれをテストすることはできません)。
答え2
より手軽で安定的に!
一般的な構文:
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:[email protected]:6050/ wget --timeout=5 --no-check-certificate http://google.com
{http、https、ftp}_proxy -> http、https、ftp URL。カンマで区切ります。
--timeout=5 -> 接続は数秒間アクティブなままです。
- 検査証明書なし -> SSL/証明書の確認を無視します。
- クモ - >ファイルをダウンロードせずに接続性をテストしたい場合。
メモ:
オンラインコンバーター:
特殊文字を対応する16進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
答え3
パスワードに@の代わりに%40を使用してください。
たとえば、
パスワードは「A@ple123」で、「A%40ple123」を使用してください。