Python CGI
Python CGI
HolaMundo.py
#!/usr/bin/python
print ("Content-Type: text/html\n\n")
print ("<html><h1>Holaaaaa mundo de CGI python</h1></html>")
Segundo Ejemplo
form_second.html
cgi-bin/second.py
#!/usr/bin/python
El servidor
Para esta práctica usaremos el servidor disponible en python al que iniciaremos con la opción
de que ejecute CGIs
python3 -m http.server --cgi 8000
Los CGIs hechos en python deberán ser ejecutables y estar dentro del directorio cgi-bin
Base de datos
La información se leerá de un archivo de texto plano:
[1] J. Glenn Brookshear, Computer Science: An Overview 11th Edition;
Prentice Hall; January 31, 2011.
[2] Jacqueline D. Hamilton, CGI Programming 101: Programming Perl for the
World Wide Web Second Edition; http://www.cgi101.com/; 2004.
[3] Nick Parlante, Essential perl; http://cslibrary.stanford.edu/108/;
2002.
[4] Web-building tutorials; http://www.w3schools.com/; 2013.
[5] S. Haber & W.S. Stornetta, Secure names for bit-strings; In
Proceedings of the 4th ACM Conference on Computer and Communications
Security; pages 28-35, April; 2004.
Diccionarios
En Python los diccionarios, arreglos asociativos o mapas se crean usando llaves
dict = {
"bart" : "Yo no lo hice!",
"homer" : "Donnas",
"lisa" : "El significado de la vida?"
}
Los valores se pueden extraer usando corchetes
string = dict["bart"]
Es posible extraer todas las claves de un diccionario usando el método keys(), que devolverá
un objeto iterable de tipo dict_keys
claves = dict.keys()
def matchLine(line):
dic = {}
x = re.search("^\[([0-9]+)\] ((.+), )?(.+); ((.+)|(http.+));(.+)\.", line)
dic["number"] = x.group(1)
dic["author"] = x.group(3)
dic["title"] = x.group(4)
dic["editor"] = x.group(5)
dic["year"] = x.group(8)
return dic
f = open("bibliografia.txt")
data = []
for line in f:
dic = matchLine(line)
data.append(dic)
print("Content-Type: application/json\n\n")
print(json.dumps(data))