2016-08-17 3 views
0

기본 인증으로 보호되는 URL에 대한 말풍선 요청은 curl -v http://username과 같은 형식을 사용하여 만들 수 있습니다 : [email protected] 하지만 암호를 "@"자체가없는 경우이 같은 통과 자격 증명을 작동하는 관찰했습니다. 예를 들어 내 요청이 curl -v http://user01:[email protected] 인 경우 작동합니다. 그러나 curl -v http://user01:[email protected]@xyz.com이면 실패합니다. 우리는 @를 암호로 이해하기 위해 어떻게 할 수 있습니까? 현재 @는 자격 증명을 전달하기 전에 일반적인 구분 기호로 간주되므로 요청은 암호 란 무엇인지 혼란 스럽습니다. 이것에 대한 생각이나 나는 무엇이든 놓치고 있습니까? 기본 인증 아마도curl 요청은 HTTP 기본 인증을 사용하는 url에 "@"가 포함 된 암호를 허용하지 않습니다.

-u, --user <user:password> 
      Specify the user name and password to use for server authentication. Overrides -n, --netrc and --netrc- 
      optional. 

      If you simply specify the user name, curl will prompt for a password. 

      The user name and passwords are split up on the first colon, which makes it impossible to use a colon in 
      the user name with this option. The password can, still. 

netrc 파일에 암호를 정의한 후 전부 명령 행에서 암호를 방지하는 것입니다 더 나은에

+0

URL 인코딩을 시도 했습니까? – lynxlynxlynx

+0

저는 인코딩 라이브러리를 사용하는 코드가 아니라 리눅스 인스턴스에서 컬을 사용하는 원시 요청에 대해 이야기하고 있습니다. –

+0

나는 그것을 안다. – lynxlynxlynx

답변

1

사용 -u하는 기본 설정됩니다.