post 로 날릴 때 405 에러 (Method Not Allowed)

post로 날려야 커맨드가 실행을 해서 아래와 같이 파이썬으로 작성을 해서 날렸는데 405 에러가 나네요.

다른 문제에서는 됐었는데요....

import requests

url = "http://host1.dreamhack.games:12584"

res = requests.post(url, data={'cmd':'ls'})
print (res.text)

post로 날리려면 어떻게 해야 하나요?

혹시 제가 처음부터 방향성을 잘못 잡고 있는 것인지요?? @.@


다른 질문들을 읽어봐도....
어뜨케 하는 건지 도통 모르겠네요. ㅠ.ㅠ

커맨드 실행을 해야 뭐라도 할텐데... 흠..... 왕초보

#web
작성자 정보
답변 1
2dedce
워게임 고인물
#!/usr/bin/env python3
from flask import Flask, request
import os

app = Flask(__name__)

@app.route('/' , methods=['GET'])
def index():
    cmd = request.args.get('cmd', '')
    if not cmd:
        return "?cmd=[cmd]"

    if request.method == 'GET':
        ''
    else:
        os.system(cmd)
    return cmd

app.run(host='0.0.0.0', port=8000)

문제 소스코드를 보면 methods=['GET']라고 써 있는 것을 보아 POST는 안되고 GET만 될 것 같은데
일단 이럴 때를 위해서 OPTIONS 메소드로 어떤 메소드가 가능한지 질문 요청을 보내보세요.

2021.05.14. 12:52
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기