난 로렌아줌마가 uirl 액세스하려면 필요로 하는 사용자 이름과 암호를. # 39; d like to try it 와 액세스하면 i& 컬. 지금 # 39 m, 다음과 같은 일을 I&
curl http://api.somesite.com/test/blah?something=123
저도 오류가 발생했습니다. 위의 함장님이요 함께 사용자 이름과 암호를 지정해야 할 것 같다
그렇게 할 수 있습니까?
할 수 있는 것이 안전합니다.
curl --netrc-file my-password-file http://example.com
.as 반군지역 일반 사용자 / 암호란이 구체화하십시오 명령줄의 안 좋은 생각이에요.
형식은 암호란이 파일은 (양반이군요 따라 '컬').
machine <example.com> login <username> password <password>
참고:
curl -X GET -u username:password {{ http://www.example.com/filename.txt }} -O
일반적으로 CURL 을 참조하여 명령을
curl https://example.com\?param\=ParamValue -u USERNAME:PASSWORD
즉, '컬' - u = 파람발루 sername param\ https://example.com\?
간단히 말해 가장 안전한 방법은 일반 및 환경 변수를 사용할 수 있는 자격 증명을 읽어들입니다 저장하였습니다 / 될 것 "이라고 말했다. 따라서 다음과 같은 명령을 컬
curl -Lk -XGET -u "${API_USER}:${API_HASH}" -b cookies.txt -c cookies.txt -- "http://api.somesite.com/test/blah?something=123"
그런 후 연락을 restful api 와 http 헤더를 통해 값을 API_USER Base64 인코딩되지 WWW_Authentication '' 패스 '' 와 'API_HASH'. Http 를 통해 사용할 수 있는 '컬' 그냥 lk 준수하십시오 리디렉션합니다 ttls 취급료 (ie 무시됨 ssl 오류가) 및 30 배 빠른 것이다. 반면 '-' 는 단지 bash 구문을 연산뿐 설탕 중지되기를 프로세성 명령행을 기. 또 '- b - b' 와 '기' 와 '-c 쿡리스.t스트 쿡리스.t스트 처리하십니까 쿠키' 쿠키 '-c' 쿠키 저장 및 전송 됩니다.
수동 많은 [참조용이므로 인증] (http://curl.haxx.se/docs/httpscripting.html # Basic_Authentication) 방법.
다른 답을 네크 제안했다고 사용자 이름과 암호를 지정하는 데 따라 I& # 39, ve 읽기, I agree. 다음은 구문 세부 사항:
https://ec.haxx.se/usingcurl-netrc.html
답변 등 보안 이에 대해 주의를 기울여야 할 필요성을 강조하고 싶다 질문이예요
비록 나는, 내가 이러한 링크를 찾을 수 있게 숙련가 아닙니다.
https://ec.haxx.se/cmdline-passwords.html
요약:
암호화되었습니다 버전의 프로토콜을 사용하여 (FTPS 와 FTP) * (HTTPS 와 HTTP) 네트워크 유출을 방지할 수 있습니다.
한 단계 더 갈 것 같다고 gpg 사용하여 파일을 네크 암호화합니다 수도 있습니다.
https://brandur.org/fragments/gpg-curl
자격 증명을 대체하십시오, at rest" " 않습니다. (저장됩니까) 를 일반 텍스트.
전달할 수 있는 것이 가장 안전한 방법으로 크레덴셜을 프롬프트될 저들이요 삽입하려면 컬 이는 앞서 제안한 대로 이 때 일어나는 반군지역 sername ('-u sername').
하지만 와일드링이 can& # 39 t pass the sername 이쪽요 가능* 있습니다. 예를 들어 사용자 이름과 암호를 url 의 일부라야 할 수 있는 유일한 일부라야 json 페이로드.
dr:* tl; 이 경우 컬 안전하게 사용할 수 있는 방법입니다.
read -p "Username: " U; read -sp "Password: " P; curl --request POST -d "{\"password\":\"${P}\"}" https://example.com/login/${U}; unset P U
'읽기' 의 사용자 이름과 암호를 묻는 모두 명령줄이, 두 개의 변수 값을 저장하고 제출됨 참조입니다 이어지는 명령의세 마지막으로 해제할 수 있는.
It 를 입력하려면 명령줄의 명령을 직접 * 안전하지 않은 이유는 그 후 다른 사용자가 실행하는 것을 볼 수 있으므로 motor1.1end 백업하도록 비밀 'ps - aux' 그 이후 현재 실행 중인 프로세스를 명령의세 제출됨 열거합니다 각. 또한 체트 있으므로 어졌다면 motor1.1end up in the bash 기록 (일단 쉘로 종료).
난 이미 medianame bash (unbuntu 16.04 LTS) 과 같은 대답을 명령의세 나와 내 경우에는 작동합니까 못했습니다. 내가 사용해야 했습니다.
curl -X POST -F 'username="$USER"' -F 'password="$PASS"' "http://api.somesite.com/test/blah?something=123"
시스템 솔루션을 사용하고 있는 경우에는 Gnome 키링 폭로한 암호란이 직접 사용할 수 있는 앱 허용하지 않는 gkeyring.py 에서 암호란이 푸십시오 키링:
server=server.example.com
file=path/to/my/file
user=my_user_name
pass=$(gkeyring.py -k login -tnetwork -p user=$user,server=$server -1)
curl -u $user:$pass ftps://$server/$file -O
이는 보다 훨씬 더 많은 OP, 그러나 그것은 최고의 결과를 주문하신거 반군지역 암호 '컬' 를 안전하게 I& # 39 m 이 솔루션을 검색할 수 있는 사람도 여기, 여기 추가 도착한다.
참고: '읽기' 명령 '-s' arg 의 POSIX 등 어디서나 사용할 수 없기 때문에 won& 없습니다 # 39, 아래 사용할 수 없다. '에코' 대신 '와' 에코 stty - stty 사용하겠습니다.
참고: 배시 (bash 로 선언할 수 있는 경우, 그 아래 모든 변수 함수 아닌 동네 반환하기.
참고: '펄' 는 일반적으로 모든 시스템에서 사용할 수 있다, ve pretty I& # 39 한 반면, 이 때문에 '루비' 와 '파이썬' 종속성 많은 것을 사용하여 있지 않으므로 '펄' here. '루비' / '' you& 보장할 수 있는 경우, 파이썬, 펄 '명령' 이 일을 하면서 # 39 에 자신의 avamer 바꿀 수 있습니다.
참고: '3.2.57 의 10.14.4 macOS 에서 테스트되었습니다' 내주었다. 일부 작은 번역 / 설치 다른 포탄 필요할 수도 있습니다.
안전하게 메시지를 전달할 경우 사용자가 암호를 컬 (재사용 가능한). 여러 번 컬 연락해야 할 경우에 유용합니다.
현대 셸, 여기서 '에코' 에 대한 내장현 ('에코' 를 통해 확인할 수 있는): "' url https://example.com & # 39, & # 39, = printf ", sername: ". 읽기 sername printf ", 비밀번호: ".
읽기 패스 printf " \n"; # 저희에게는힘과 이동해야 할 줄 것이다.
echo $ $ {} {} - ^ / / e, s " 전달하십시오 sed -u sername :/". 컬 - $ {} " uirl uirl "; - K-계수 해제할 sername 전달하십시오 해제할 "'
셸, 여기서 '에코' 이 같은 일이 종전의 '/ bin / 에코' (여기서 볼 수 있는 모든 것을 에코 과정에서 목록) :< br/>; 이 버전은 재사용합니다 암호란이 , 낮은 대신 다운되어도 볼 수 없습니다. "' url https://example.com & # 39, & # 39, = printf ", sername: ". 읽기 sername printf ", 비밀번호: ".
펄 (perl) - e & # 39. 내 발 = $ STDIN> <;; 씹는 $ 발. 인쇄하십시오 \n" 표준에러출력 ";; # 우리는 앞서 선 아래로 파이프 전송하십시오 아니라 이동해야 할 줄 바꿈 print $ 발. & # 39. sed - $ {} ^ / / e, s " -u sername :/". 컬 - $ {} " uirl uirl "; - K-계수
해제할 sername "' ,, < br/> < /p> < hr>.
문제가 발생할 경우 이를 위해 임시로 파일을 저장하는 데 필요한 암호를 재사용률이 지우기 전에 여러 명령의세 it (말하도다 같도다라고 you& # 39, re 함수를 사용하여 코드 재사용 및 don& # 39, t want 반복하려면 코드와 can& # 39, t 전달하십시오 수립하였습니다 값을 통해 에코). (예, 조금 다른 기능은 없는 이 양식을 보면 나 그것은꿈의 라이브러리보다는. 이를 줄이기 위해 노력했다고 최소값이 코드 보여줘야 할 필요가 있습니다.)
이 때 내장현 에코 (echo) 가 있지만, 이는 특히 내장현 제공한 나 때문에 완전성을 위해): "' url https://example.com & # 39, & # 39, = = $ (마크 트럼프), 파일 경로 " ". # 임의적입니까 경로를 현재 사용자가 읽을 수 있을 뿐 printf ", sername: ". 읽기 sername printf ", 비밀번호: ".
읽기 패스 echo $ {} " 전달하십시오 "; >. $ {} " 파일 경로 "; 전달하십시오 해제할 printf " \n"; # 저희에게는힘과 이동해야 할 줄 것이다.
고양이 " $ {}, 파일 경로 ". sed - $ {} ^ / / e, s " -u sername :/". 컬 - $ {} " uirl uirl "; - K-계수
$ {} " 파일 경로, rm ". # # 39, 파일을 삭제할 수 t forget don& 완료했으면!! 해제할 sername "'
/ Bin / 에코 'like' 에코 때 뭔가 특별한 게 있다. "' url https://example.com & # 39, & # 39, = = $ (마크 트럼프), 파일 경로 " ". # 임의적입니까 경로를 현재 사용자가 읽을 수 있을 뿐 printf ", sername: ". 읽기 sername printf ", 비밀번호: ".
$ (펄 (perl) - e & # 39. 내 발 = $ STDIN> <;; 씹는 $ 발. 오픈 (내,,, $ $ fh " > " ARGV [0]) 또는 죽사오나 " \", $ ARGV [0] \", 파일을 열 수 없습니다. $! "; $ $ fh 인쇄하십시오 발. $ fh 닫으십시오. & # 39. $ filepath" ";) printf " \n"; # 저희에게는힘과 이동해야 할 줄 것이다.
고양이 " $ {}, 파일 경로 ". sed - $ {} ^ / / e, s " -u sername :/". 컬 - $ {} " uirl uirl "; - K-계수
$ {} " 파일 경로, rm ". # # 39, 파일을 삭제할 수 t forget don& 완료했으면!! 해제할 sername "'