CURLデータに「catファイル」を挿入

CURLデータに「catファイル」を挿入

aの内容をキャプチャして、カールクエリでフィールドの一部としてfile.txt使用したいと思います。--data

私は試した:

curl ... --data '{ "file_content":[" $(cat file.txt) ", ...]}"' ...

$(cat file.txt)ただし、これは文字列を送信する前に解釈するのではなく、サーバーに文字列を渡します。

私も次のことを試しました。

curl ... --data '{ "file_content":[" `cat file.txt` ", ...]}"' ...

同様に、文字列を解釈する代わりにそのまま渡します。

ベストアンサー1

方程式からシェルを削除できる場合は、おそらく3つのバックスラッシュは必要ありません。幸いなことに、次のことができます。

{   printf '{ "file_content":["'
    cat file.txt
    printf '", ...]}"'
}|  curl ... --data-binary @-          

よりman curl。違いに注意を払うことをお勧めします。--data-ascii (それは-d私のことです)、、、--data-binaryそして--data-urlencoded

おすすめ記事