API REST - Flask. Esta es una API básica que proporciona 2 endpoints, para cifrar y descifrar información utilizando el algoritmo RC4 utilizando en WEP. Esta aplicación está desarrollada para el curso de Desarrollo de Soluciones Cloud.
Para ejecutar la aplicación siga las siguientes instrucciones:
$ python -m venv venv
$ .\venv\Scripts\activate
$ pip install flask
$ pip install flask-restful
$ pip install flask-marshmallow
$ export FLASK_APP=app.py
$ export FLASK_DEBUG=1
$ export FLASK_ENV=development
$ flask run -h 0.0.0.0
- Utilice Postman (o una herramienta equivalente) para realizar solicitudes post a los endpoints disponibles.
- Ruta Endpoint 1 [POST]:
http://ip_servidor:5000/cipher
- Ruta Endpoint 2 [POST]:
http://ip_servidor:5000/decipher
- Ambos Endpoints requieren un JSON con el siguiente formato:
{"message" : "Texto a Cifrar/Descifrar", "key": "llave para Cifrar/Descifrar"}
$ sudo apt-get install apache2-utils
- Crear un archivo JSON de ejemplo (En el repositorio encontrará un par de ejemplos disponibles):
{"message" : "Texto a Cifrar/Descifrar", "key": "llave para Cifrar/Descifrar"}
$ ab -n 1000 -c 100 -p data-cifrar.json -T application/json -rk http://ip_servidor:5000/cipher
$ ab -n 1000 -c 100 -p data-descifrar.json -T application/json -rk http://ip_servidor:5000/decipher
donde:
-k (keepAlive)
. Realizar múltiples solicitudes dentro de una sesión HTTP, funcionalidad de los navegadores por la naturaleza-r (flag)
. Indica que la conexión (socket) no se cierra al recibir errores-n (requests)
. Número total de solicitudes para ejecutar-c (concurrency)
. Cantidad de conexiones concurrentes-p (file.json)
. JSON que se envia en el cuerpo del request-T application/json
. Especifica la estructura de datos del body-e data.csv
. Guarda los resultados en un archivo CSV
$ sh script.sh
contiene los comandos de prueba de carga para los endpoints de cifrado y descifrado.
Instalar htop
$ apk add htop
Ejecutar htop
$ htop