Curl: 파일에서 헤더를 읽고 cURL 명령에 사용합니다.

Curl: 파일에서 헤더를 읽고 cURL 명령에 사용합니다.

다음 컬 명령을 사용하는 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 

관련 정보