curlコマンドでファイルをアップロードする

2018-12-17

CurlコマンドでHTTP経由でファイルアップロード(POST)する

CUI環境で特定のURLでファイルをアップロードする方法にはいくつかありますが、Wgetだとうまく動かなかったので、Curlコマンドならファイルのアップロードできましたので、その際の方法を紹介します。

ファイルのアップロードする箇所のFromのHTMLソースは以下のようになっています

<form method="post" enctype="multipart/form-data" action="/uploadfile.cgi">
<input type="file" name="upfile">
<input type="submit">
</form>

上記の場合での、Curlコマンドは以下となります。
$ curl -X POST -F upfile=@/var/tmp/updatesql.txt http://example.com/upload.cgi

  • 「-X POST」でPOSTを指定します。
  • 「-F upfile=@/var/tmp/updatesql.txt」でアップロードするファイルとinputのnameの値をを指定します。「-F」の後にinputのnameの値をを指定します。
    @以降にファイルのパスを指定します
  • http://〜〜〜でURLを指定します

簡単なコマンドですのでシェルスクリプト化する事は不要かも知れませんが、シェルスクリプトすると以下になります

#bin/bash

FILE=/var/tmp/updatesql.txt
URL=http://example.com/upload.cgi
INPUTNAME=upfile

curl -X POST -F $INPUTNAME=@$FILE $URL

 

スポンサーリンク