User Tools

Site Tools


flask

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
flask [2020/04/21 20:32] joseflask [2020/04/21 21:28] (current) jose
Line 28: Line 28:
   python app.py   python app.py
  
-Si lanzamos este comando, ejecuta el comando, en este caso touch+Si lanzamos este comando, ejecuta el comando, en este caso **fichero_touch**
   curl http://127.0.0.1:5000/create   curl http://127.0.0.1:5000/create
 +
 +====== Coger variables de POST ======
 +app_post.py
 +<code>
 +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()
 +</code>
 +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
 +<code>
 +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()
 +</code>
 +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.1587501167.txt.gz · Last modified: 2020/04/21 20:32 by jose