Curl :从文件中读取标头并在 cURL 命令中使用它们

Tha*_*s M 0 header-file curl

我有一个带有以下curl命令的bash脚本:

curl -v -X GET https://example.com -H ~/Desktop/headers.txt -o ~/Desktop/file.txt
Run Code Online (Sandbox Code Playgroud)

当我运行 bash 脚本时,我收到了 unothorized 401。显然我没有正确读取头文件。我的头文件看起来像“授权:承载 40bsafsdgds34234....”。我的curl版本是7.26

pLu*_*umo 5

-H选项默认从参数(文本)而不是文件中读取标头信息。

因为curl 7.55您可以使用-H @file从文件中读取。


对于旧版本,您需要一个小脚本,如下所示:

curl $(xargs -a headers.txt -I{} printf '-H "%s" ' "{}") URL
Run Code Online (Sandbox Code Playgroud)

一些链接:


选择

创建配置文件,包括-H "..."

-H "Authorization: bearer token"
-H "Another header"
Run Code Online (Sandbox Code Playgroud)

并使用-K/--config <config file>选项。

或通过以下方式自动使用您的原始文件sed

curl -K <(sed -r 's/^(.*)$/-H "\1"/' headers.txt) URL
Run Code Online (Sandbox Code Playgroud)