linux-curl はファイルからファイル属性を読み込みます。

linux-curl はファイルからファイル属性を読み込みます。

だから私はこのカールコマンドを持っています。しかし、APIキーをapi.txtというファイルに保存し、値を持つcurlコマンドにロードしたいと思います。

api.txt ファイルには以下が含まれます。

'X-Api:<API-KEY>'

このコマンドは機能します。

curl -H 'X-Api:<API-KEY>' -T file.zip "https://URL"

試験を終えた:

curl -H “Content-Type: text/plain” -d “api.txt” -T file.zip "https://URL"

エラーが発生しました:

  "errors" : [ {
    "status" : 401,
    "message" : "Unauthorized"
  } ]
}%      

質問:

  1. 実際のapiキーまたはapi.txtの予想行をロードしてカールコマンドで解析するにはどうすればよいですか?
  2. これはできますか?それとももっと良い方法ですか?

ベストアンサー1

curl -H "$(cat api.txt)" -T file.zip "https://URL"

または、入力ファイルからすべてのパーセント記号と一重引用符を削除します。

curl -H "$(tr -d "'%" api.txt)" -T file.zip "https://URL"

または開始''%終了のみを削除します。

curl -H "$(sed -E "s/^'|'%$//g" api.txt)" -T file.zip "https://URL"

PS:私は最初にapi.txtで末尾の改行を避けるためにこれを2行で行う必要があると思いました。

API_KEY=$(cat api.txt)
curl -H "$API_KEY" -T file.zip "https://URL"

しかし、bashは入力ファイルの末尾で改行処理が改善されたようです。コマンドの置き換え- つまり、入力がない場合は削除されます。私はbash 5.1.16を使用しています。異なるシェルまたは異なるバージョンの bash を使用している場合は、2 行のバージョンを使用する必要があります。

おすすめ記事