다음 컬 명령을 사용하는 bash 스크립트가 있습니다.
curl -v -X GET https://example.com -H ~/Desktop/headers.txt -o ~/Desktop/file.txt
Bash 스크립트를 실행하면 인증되지 않은 401이 표시됩니다. 분명히 헤더 파일을 올바르게 읽지 못하는 것 같습니다. 내 헤더 파일은 "승인: 40bsafsdgds34234 호스팅...."과 같습니다. 내 컬 버전은 7.26입니다.
답변1
-H
이 옵션은 기본적으로 파일 대신 인수(텍스트)에서 헤더 정보를 읽습니다.
을 사용하여 파일에서 읽을 curl 7.55
수 있기 때문입니다 .-H @file
이전 버전의 경우 다음과 같은 작은 스크립트가 필요합니다.
curl $(xargs -a headers.txt -I{} printf '-H "%s" ' "{}") URL
일부 링크:
선택하다:
다음을 포함하는 구성 파일을 생성합니다 -H "..."
.
-H "Authorization: bearer token"
-H "Another header"
그리고 -K/--config <config file>
옵션을 사용하세요.
또는 다음을 통해 원본 파일을 자동으로 사용하세요 sed
.
curl -K <(sed -r 's/^(.*)$/-H "\1"/' headers.txt) URL
답변2
많은 시행착오 끝에 나는 이것이 나에게 효과가 있다는 것을 알았습니다.
curl -v -X GET https://example.com -H "$(cat ~/Desktop/headers.txt)" -o ~/Desktop/file.txt