git 프록시 비밀번호에서 @ 문자 이스케이프
git proxy config as 'http.proxy = http : // userId : pwd @ 123 @ipaddress : port'하지만 원격 프로젝트를 복제하는 동안 다음과 같은 오류가 발생합니다.
Cloning into git...
error: Couldn't resolve proxy '123@ipaddress' while accessing http://git.kernel.org/pub/scm/git/git.git/info/refs
fatal: HTTP request failed
비밀번호에서 '@'문자를 이스케이프하는 방법은 무엇입니까?
Pls 참고 : 암호를 변경할 수 없습니다.
프록시 URL에 암호를 전달하는 경우 @ 기호의 URL 인코딩 값을 사용해 보겠습니다.
http.proxy=http://userId:pwd%40123@ipaddress:port
참고 (2013 년 11 월)
URL (특히 암호의 특수 문자)을 인코딩하는 것이 올바른 해결책입니다.
를 .netrc
해결하는 데 사용되는 프록시는 원격의 repo URL을 말했다하지 않는, 오직 원격의 repo URL에 대한 다음에서 언급.
해당 인코딩에 대해서는 " 백분율 인코딩 "을 참조하십시오 .
URL 인코딩 이라고도하는 백분율 인코딩 은 특정 상황에서 URI ( Uniform Resource Identifier)로 정보를 인코딩하는 메커니즘입니다 . URL 인코딩으로 알려져 있지만 실제로는 URL ( Uniform Resource Locator )과 URN ( Uniform Resource Name )을 모두 포함 하는 기본 URI ( Uniform Resource Identifier ) 세트 내에서 더 일반적으로 사용됩니다 . 따라서 HTTP 요청 에서 HTML 양식 데이터를 제출하는 데 자주 사용되는 것처럼 application / x-www-form-urlencoded 미디어 유형 의 데이터 준비에도 사용됩니다 .
백분율 인코딩 후 예약 된 문자 :
! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D
원문 답변 (2011 년 5 월)
두 가지 의견 :
http (https가 아님)로 액세스 한 서버의 암호를 갖는 것은 이상합니다. 암호는 클라이언트와 서버 간의 통신 중에 암호화되지 않습니다.
에서 다음 내용 으로
.netrc
(또는_netrc
Windows 용)을 설정할 수$HOME
있습니다.
기계 ipaddress : port 로그인 사용자 ID 암호 pwd @
Git bbehind에서 사용하는 curl은 인코딩을 잘 처리 @
하거나 @
.
URL은 비정상적인 문자를 인코딩합니다.
@ character is %40
내 자식 구성 파일에서 예를 들어 사용자 이름을 '단지'로 인코딩했습니다.
https://myemail%40gmail.com@myrepo.org/api.git
예를 들어, 환경 변수 GIT_PASSWORD
, username-에 저장된 비밀번호 GIT_USERNAME
는 다음과 같습니다.
git clone http://${GIT_USERNAME}:$(echo -n $GIT_PASSWORD | hexdump -v -e '"x" 1/1 "%02X"' | tr x %)@repository.git
설명 : echo -n $GIT_PASSWORD | hexdump -v -e '"x" 1/1 "%02X"' | tr x %
- 인쇄 암호 :
$GIT_REPOSITORY
<-hello
- 'hello'를 16 진수로 변환 :
hello
<-x68x65x6Cx6Cx6F
- 각 'x'를 '%'로 변경 :
x68x65x6Cx6Cx6F
<-%68%65%6C%6C%6F
당신은에있는 퍼센트 인코딩 | 특수 문자를 인코딩 하십시오. 예를 들면 다음과 같습니다.
http://foo:B@r@http-gateway.domain.org:80
당신은 이것을 작성합니다 :
http://foo:B%40r@http-gateway.domain.org:80
그래서 @
으로 대체됩니다 %40
.
참고 URL : https://stackoverflow.com/questions/6172719/escape-character-in-git-proxy-password
'development' 카테고리의 다른 글
토큰을 사용하여 C ++ std :: string 분할 (예 : ";") (0) | 2020.10.28 |
---|---|
Android에서 활성 장치 관리자가 활성화 된 앱을 제거하는 방법은 무엇입니까? (0) | 2020.10.28 |
Android 리소스와 리소스 ID 간의 매핑은 어떻게 작동합니까? (0) | 2020.10.28 |
iframe에 대한 jQuery Force set src 속성 (0) | 2020.10.28 |
redirectMode =“ResponseRewrite”를 설정하면 CustomErrors가 작동하지 않습니다. (0) | 2020.10.28 |