En este post te enseñaré a agregar encabezados HTTP al enviar la respuesta con Flask (framework web para Python). Podemos usar encabezados para varias cosas, entre ellas para configurar CORS o para indicar el tipo de contenido.

Encabezados con Flask

Simplemente tienes que crear el response y modificar los encabezados antes de enviarlos al cliente. El response o respuesta puede venir de cualquier lugar, no importa; lo que importa es modificar la propiedad headers con la sintaxis:

respuesta.headers["Nombre_encabezado"] = "valor"

Y después de haberlos establecido, regresar la respuesta.

Ejemplo: modificar encabezados con Flask

Veamos el siguiente ejemplo de código. En este caso primero creo la respuesta y luego asigno encabezados. Específicamente hablando, estos headers con Flask sirven para forzar la descarga de un archivo.

@app.route("/tomar_foto_descargar")
def descargar_foto():
    # La respuesta puede venir de cualquier lugar
    respuesta = Response(obtener_frame_camara())
    respuesta.headers["Content-Type"] = "image/jpeg"
    respuesta.headers["Content-Transfer-Encoding"] = "Binary"
    respuesta.headers["Content-Disposition"] = "attachment; filename=\"foto.jpg\""
    return respuesta

Como puedes estoy asignando 3 encabezados desde la línea 5 hasta la 7. Finalmente envío la respuesta. De este modo puedes cambiar los encabezados HTTP con Flask y Python.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto