HTTP POSTをWebサービスに送信するためにcURLコマンドラインユーティリティを使用しています。 POSTのボディエンティティとしてファイルの内容を含めたいです。私は-d </path/to/filename>
と--data </path/to/filename> --data-urlencode </path/to/filename>
などのようなタイプ情報を持つ他の変種を使用してみました...ファイルは常に添付されています。ボディエンティティとしてそれが必要です。
私はあなたが@filename
構文を探していると思います、例えば:
改行を削除
curl --data "@/path/to/filename" http://...
改行する
curl --data-binary "@/path/to/filename" http://...
=====
curlはファイルからすべての改行を取り除きます。改行を入れずにファイルを送信したい場合は、--dataの代わりに--data-binary
を使用してください。
私は質問が答えられたことを知っています、しかし私の場合私はテキストファイルの内容をSlack Webhook apiに送ろうとしていました、そして何らかの理由で上記の答えはうまくいきませんでした。とにかく、これがついに私のためにトリックをしたものです:
curl -X POST -H --silent --data-urlencode "payload={\"text\": \"$(cat file.txt | sed "s/\"/'/g")\"}" https://hooks.slack.com/services/XXX