Curl

Curl :從文件中讀取標題並在 cURL 命令中使用它們

  • October 5, 2018

我有一個帶有以下 curl 命令的 bash 腳本:

curl -v -X GET https://example.com -H ~/Desktop/headers.txt -o ~/Desktop/file.txt

當我執行 bash 腳本時,我得到了未經授權的 401。顯然我沒有正確讀取標頭檔。我的標頭檔看起來像“授權:承載 40bsafsdgds34234 ….”。我的 curl 版本是 7.26

-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

引用自:https://unix.stackexchange.com/questions/472073