我想用 Python Flask 建一個 API (:8080),透過 POST 呼叫用 json 傳送 run 變數若為 1 則執行指定 Windows cmd 指令
好的,你可以使用 Python Flask 建立一個簡單的 API。以下是一個基本的範例程式碼,你可以根據你的需求進行修改:
from flask import Flask, request, jsonify
import subprocess
app = Flask(__name__)
@app.route('/api', methods=['POST'])
def run_command():
data = request.get_json()
if 'run' in data and data['run'] == 1:
# 執行 Windows cmd 指令,這裡假設要執行的指令是 command_to_run
command_to_run = 'your_command_here'
try:
result = subprocess.check_output(command_to_run, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
return jsonify({'result': result})
except subprocess.CalledProcessError as e:
return jsonify({'error': str(e)})
else:
return jsonify({'message': 'No action specified or invalid "run" value'})
if __name__ == '__main__':
app.run(port=8080)
請注意替換 your_command_here
部分為你想要執行的 Windows cmd 指令。此程式碼會在本機的 8080
port 啟動 Flask 伺服器,並等待 POST 請求。
你可以使用 curl 或其他 HTTP 客戶端來測試 API,例如:
curl -X POST -H "Content-Type: application/json" -d '{"run": 1}' http://localhost:8080/api
這樣的請求應該會觸發執行你指定的 Windows cmd 指令。