Tutorial Window XP
  Lenguaje: CGI: Introducción
 
Common Gateway Interface 

CGI no es más que una forma de comunicar información entre un servidor de web y un programa ejecutable nativo que está en la misma máquina que dicho servidor. Un CGI permite pasar información en ambos sentidos (parámetros y resultados). No es un lenguaje, sólo una forma de pasar información. Lo mismo que la línea de comandos del sistema operativo. De ahí lo de "interfaz". Un programa CGI puede estar hecho en cualquier cosa siempre que: 

1) Se ejecute en la máquina del servidor 
2) Sea capaz de leer variables de entorno y la entrada estándar del sistema operativo (concepto cuasi universal) 
3) Sea capaz de escribir en la salida estándar del sistema operativo 
4) El servidor sea capaz de ejecutarlo 

Para crear el CGI se puede usar Visual Basic, Perl, Rexx, Clipper, Visual C, Borland C, Delphi, etc. Una vez creado el CGI en tu ordenador, lo pasas al servidor y lo compilas allí. El hecho de que CGI esté universalmente soportado ayuda a que el código fuente de un programa CGI pueda recompilarse y funcionar en cualquier entorno. No obstante, eso dependerá mucho de qué lenguaje se use para desarrollar el programa. Por ejemplo, ISAPI sólo funciona en Windows. 

Como crear un CGI usando Perl 

Como Perl no es un lenguaje compilado como C, nos saltaremos la ardua tarea de compilar nuestro código fuente. Simplemente, crearemos un fichero de texto llamado prueba.txt. Deberíamos usar el procesador de textos más simple que tengamos a fin de que no nos salve carácteres extra en el fichero como hacen Word y otros procesadores de texto. Se supone que vamos a usar Notepad o WordPad de Windows. 

Contenido del fichero prueba.txt: 

#!/usr/bin/perl 

print "content-type: text/htmlnn"; 
print "<HTML>n"; 
print "<HEAD>n"; 
print "<TITLE>Aprendiendo a crear CGIs</TITLE>n"; 
print "</HEAD>n"; 
print "<BODY>n"; 
print "Enhorabuena. Acabo de crear un CGI ¡y funciona!n"; 
print "</BODY></HTML>n"; 

Fíjate que en un CGI lo primero que hay que poner es la cabecera, en este caso : Content-type: text/htmlnn 
El n al final de la cabecera es un retorno de linea. Siempre debe de haber 2. 

Pasando el CGI a tu servidor 

Debemos de pasar el fichero 'prueba.txt' al directorio de nuestra página web. Abrimos una sesión FTP hacia el directorio de nuestra página web y copiamos el fichero 'prueba.txt' allí. 

Ya tenemos el CGI en nuestro servidor web. Si ahora vamos a un navegador y tecleamos la dirección donde se encuentra el CGI lo ejecutaremos. Ejemplo: http://www.domin.io/usuario/prueba.txt 

Sin embargo, veremos el código fuente del fichero como si fuese un texto normal. Tranquilos, no pasa nada. Ahora lo solucionamos. 

Solucionando los problemas 

La respuesta es sencilla: el navegador no sabe que eso es un CGI. No tenemos más que cambiar la extensión de txt por cgi. La razón de no haberlo hecho antes, es que nuestro programa de FTP debe transferir los archivos con formato ASCII, es decir, simples ficheros de texto, si intentamos copiar directamente el fichero con el nombre prueba.cgi, casi seguro que no nos va a funcionar porque lo intenará transferir en formato BINARIO. Para solucionar esto sin poner extensión txt al CGI podemos configurar nuestro programa de FTP para que reconozca la extensión .cgi como ASCII 

En los sistemas UNIX, ningún programa funciona hasta que le demos permiso de ejecución. Para darle permiso, se puede usar el programa de FTP. En el caso del Cute FTP, una vez vemos el fichero al que queremos darle el permiso de ejecución, pinchamos en él con el botón derecho del ratón y seleccionamos 'File Attributes' del menú emergente. 

Ahora hay que darle permiso de lectura o lectura/escritura a nuestro CGI 'prueba.cgi'. Deberíamos recibir un mensaje advirtiéndonos que hemos cambiado los atributos del fichero. 

Si ejecutamos ahora el CGI desde nuestro navegador, deberíamos ver el esperado mensaje de enhorabuena.

 
   
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis