curlコマンドのヘッダーの要素を追加 - Bye Bye Moore
で扱った、ヘッダに固有命令である旨をつけてPOST命令で結果を返す方法を自分でもやってみる
Bottleで画像を受け取る - Bye Bye Moore
を拡張する形で作っていきます
bottleでヘッダを呼び出すには"request.headers.raw(KEY)"で呼び出します。
実際のところ
tmpディレクトリにあるfoobar.jpgというファイルを/showに特殊ヘッダshowimageつきのPOSTで呼び出すには、以下の様に
from bottle import route, request, run, post, static_file @post('/show') def send_image(): if ( request.headers.raw("showimage") == "True" ): filename="foobar.jpg" return static_file(filename, root='/tmp', mimetype='image/jpeg') else: return if __name__ == '__main__': run(host='0.0.0.0', port=8080)
上記に対しコマンドを送って画像を1234.jpgとして受け取るには
$ curl -o 1234.jpg -X POST -H "showimage: True" http://127.0.0.1:8080/show