それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

curl コマンドでHTTPファイルアップロード

Curlコマンドを使ってファイルをアップロードします。手軽で便利なので是非活用しましょう。

curl でファイルアップロード

curl -F name=value -F my_photo=@path_to_my_file http://example.com

構造はこんなかんじです。

curl -X POST  -F ${フォームinput名}=@${path_to_my_file} http://example.com

-X POST は指定しなくても、curl でファイルアップロード指定したら POST になります。

GETで送るなんて無茶もできる。

curl -X GET  -F ${フォームinput名}=@${path_to_my_file http://example.com}


MIME-Typeはマルチパートになる。multipart/form-datanなので、ファイルのタイプを指定しようとしたら次にようになる。


ファイルの種類を指定したアップロード

curl -X POST  -F ${フォームinput名}=@${path_to_my_file}:type=video/mp4 http://example.com

これで mime-type を指定したアップロード

強引なMIMEタイプを指定した結果がこちら。

f:id:takuya_1st:20190525183801p:plain

オプションについての説明

 -F で送信するフィールド名と値を指定する。
 @ マークでファイルを指定すると、multipart/form-data で送信される。


簡単ですね!!!

-F は複数重ね書きします。

curl -F name=value  -F name=value \
  -F name=value \
  -F name=@path_to_file \
  -F my_photo=@path_to_my_file \
http://example.com


PUX用に、multipart/form-dataで送信するクライアント書くと、ruby の動きが変だったので、CURLでアクセスしました。

2019-05-25

記述内容をおおきく更新

参考資料

man curl