논의를 위해 내 비밀번호는 다음과 같다고 가정해 보겠습니다.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진수 유니코드로 바꿉니다. 유니코드 목록은 웹사이트를 참조하세요.https://unicode-table.com(또는)http://unicodelookup.com
Python의 기본 변환기를 사용하십시오.
인용하다:비밀번호 "p@s#w:E"를 유니코드로 변환하는 방법은 다음과 같습니다.
@ = %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"을 사용하세요.