強制ダウンロード用の簡単なコードを1つ開発していますが、問題はGETメソッドでエラーが発生しないのに、postメソッドリクエストで「405メソッドが許可されていません」というエラーが発生することです。GETメソッドのコード。
@route('/down/<filename:path>',method=['GET', 'POST'])
def home(filename):
key = request.get.GET('key')
if key == "tCJVNTh21nEJSekuQesM2A":
return static_file(filename, root='/home/azoi/tmp/bottle/down/', download=filename)
else:
return "File Not Found"
キーを使用してリクエストすると、getメソッドhttp://mydomain.com/down/xyz.pdf?key=tCJVNTh21nEJSekuQesM2Aのときにダウンロード用のファイルが返されます 。
今私はPOSTメソッドを処理するために別のコードを使用しました
@route('/down/<filename:path>',method=['GET', 'POST'])
def home(filename):
key = request.body.readline()
if key == "tCJVNTh21nEJSekuQesM2A":
return static_file(filename, root='/home/azoi/tmp/bottle/down/', download=filename)
else:
return "File Not Found"
このコードを使用すると、postメソッドを処理できません。つまり、サーバーから405 MethodNotAllowedエラーが発生します。
これに対する解決策はありますか?