Dentro de las bibliotecas de python, existen dos servidores web que podemos utilizar, con los cuales podemos servir archivos o ejecutar scripts de python.
La ventaja de usar estas bibliotecas es que no necesitamos escribir ninguna línea de código para establecer el servidor web y comenzar a servir archivos.
Servidor de archivos
Comenzaremos creando una carpeta donde el servidor web servirá los archivos: mkdir pythonServer
cd pythonServer
Luego creamos una página, por ejemplo index.html
nano index.html
Colocamos dentro de la página algún código html
<html>
<body>
<h1>Sitio html</h1>
</body>
</html>
Ahora lanzamos el servidor web en el puerto 8001 ejecutando el siguiente script de python que ya viene incluído en las bibliotecas:
python -m SimpleHTTPServer 8001
Si abrimos en un browser la url: http://localhost:8001/index.html veremos nuestra página web.
Servidor CGI (puede ejecutar scripts de python)
Crearemos una carpeta llamada cgi-bin en donde colocaremos las páginas web que en realidad son scripts de python (archivos .py) mkdir cgi-bin
Ahora creamos el archivo index.py en donde devolveremos un texto html generado con python:
nano cgi-bin/index.py
Dentro del archivo index.py escribimos el siguiente código python:
#! /usr/bin/env python
print("Content-Type: text/html")
print("")
import cgi
arguments = cgi.FieldStorage() #argumentos por GET o POST
print("<h1>Python script</h1>")
Para lanzar el servidor web, deberemos ejecutar ahora un servidor web diferente:
python -m CGIHTTPServer 8001
Si ahora abrimos con nuestro browser la url: http://localhost:8001/cgi-bin/index.py se ejecutará nuestro script y veremos la página que devuelve.
Si queremos obtener los argumentos que la página puede recibir por GET o POST utilizamos la variable arguments de la siguiente manera:
valor = arguments["nombreCampo"].value
No hay comentarios:
Publicar un comentario