사용자 이름 / 암호가 필요한 URL에 액세스하고 싶습니다. 컬로 액세스하려고합니다. 지금 나는 다음과 같은 일을하고있다 :
curl http://api.somesite.com/test/blah?something=123
오류가 발생합니다. 위의 명령과 함께 사용자 이름과 비밀번호를 지정해야한다고 생각합니다.
어떻게해야합니까?
답변
-u
플래그를 사용하여 사용자 이름을 포함하면 curl에서 암호를 묻습니다.
curl -u username http://example.com
명령에 암호를 포함시킬 수도 있지만 bash 기록에 암호가 표시됩니다.
curl -u username:password http://example.com
답변
하는 것이 더 안전합니다 :
curl --netrc-file my-password-file http://example.com
… 명령 줄에 일반 사용자 / 암호 문자열을 전달하는 것은 좋지 않습니다.
비밀번호 파일의 형식은 다음과 man curl
같습니다.
machine <example.com> login <username> password <password>
노트 :
- 기계 이름은 포함 하거나 유사 해서는 안됩니다
https://
! 호스트 이름 만 - ‘
machine
‘, ‘login
‘및 ‘password
‘ 단어 는 키워드 일뿐입니다. 실제 정보는 키워드 뒤에 나오는 것입니다.
답변
또는 같은 것이지만 다른 구문
curl http://username:password@api.somesite.com/test/blah?something=123
답변
다음과 같이 작성하여 사용자 이름을 보낼 수도 있습니다.
curl -u USERNAME http://server.example
그러면 Curl에서 암호를 묻고 화면에 암호가 표시되지 않습니다 (또는 명령을 복사 / 붙여 넣기해야하는 경우).
답변
스크립트에서 암호를 안전하게 전달하려면 (즉, ps auxf 또는 로그와 함께 표시되지 않도록) -K- 플래그 (stdin에서 구성 읽기)와 heredoc을 사용하여 암호를 수행 할 수 있습니다.
curl --url url -K- <<< "--user user:password"
답변
일반적으로 CURL 명령은
curl https://example.com\?param\=ParamValue -u USERNAME:PASSWORD
비밀번호가 없거나 비밀번호를 요구하는 명령 프롬프트를 건너 뛰려면 비밀번호 섹션을 비워 두십시오.
즉 curl https://example.com\?param\=ParamValue -u USERNAME:
답변
curl -X GET -u username:password {{ http://www.example.com/filename.txt }} -O