flask
Table of Contents
Ejecutar solo un comando
app.py
from flask import Flask from flask import request import subprocess app = Flask('flaskshell') @app.route('/create') def get_status(): command_ls = "touch fichero_touch" try: result_ls = subprocess.check_output( [command_ls], shell=True) except Exception as e: print (e) return 'Fail' return 'Success' if __name__ == '__main__': app.run()
levantamos el servidor:
python app.py
Si lanzamos este comando, ejecuta el comando, en este caso fichero_touch
curl http://127.0.0.1:5000/create
Coger variables de POST
app_post.py
from flask import Flask from flask import request import subprocess app = Flask('flaskshell') @app.route('/usuario' , methods = ['POST']) def get_variables(): fichero=request.form.get('fichero') command = "touch " + fichero try: result_ls = subprocess.check_output( [command], shell=True) except Exception as e: print (e) return result_ls return 'Success' if __name__ == '__main__': app.run()
Levantamos el servidor:
python3 app_post.py
Si ejecutamos este comando, nos crea el fichero que le pasemos en la variable fichero, en este caso fichero_prueba.txt
curl -X POST http://127.0.0.1:5000/usuario -d "fichero=fichero_prueba.txt"
Coger variables de POST multiple
app_post.py
from flask import Flask from flask import request import subprocess app = Flask('flaskshell') @app.route('/usuario' , methods = ['POST']) def get_variables(): user=request.form.get('user') password=request.form.get('password') command = 'radtest ' + user + ' ' + password + ' ' + '10.103.0.6 0 testing123-1' print (command) try: result_ls = subprocess.check_output( [command], shell=True) except Exception as e: print (e) return result_ls return 'Success' if __name__ == '__main__': app.run()
Levantamos el servidor:
python3 app_post.py
Si ejecutamos este comando hace un login contra servidor radius con user bob y password hello:
curl -X POST http://127.0.0.1:5000/usuario -d "user=bob&password=hello"
Configuración
Escuchar en todas las ips:
app.run(host= '0.0.0.0')
flask.txt · Last modified: 2020/04/21 21:28 by jose