Introducción a la programación CGI en Pascal

Seroquel Without Prescription Prednisone No Prescription VPXL For Sale Stromectol Generic Buy Hoodia Online Elavil Without Prescription Synthroid No Prescription Prozac For Sale Toprol XL Generic Buy Cialis Soft Tabs Online

Seguro que no son muchos los que usan Pascal para crear aplicaciones CGI, pero este lenguaje es tan válido como cualquier otro. Bueno, aunque la realidad es que no resulta demasiado cómodo.

Free Pascal ofrece una gran variedad de "Unidades" que permiten la realización de multitud de tareas, desde conectarse a bases de datos hasta programación CGI.

Es verdad que Pascal no es el lenguaje más apropiado para crear aplicaciones CGI, existen otros lenguajes como PHP o ASP mucho más adecuados para programación web. En realidad, usar Pascal para programación web tiene un gran número de inconvenientes pero en ciertas situaciones la utilización de un lenguaje compilado como Pascal puede resultar muy beneficiosa.

Free Pascal dispone de una Unidad llamada "uncgi" que facilita la programación CGI de forma considerable. Esta unidad, entre otras cosas, permite acceder a las variables enviadas mediante los métodos GET y POST. De todas formas, nuestro primer programa no usará "uncgi", simplemente te mostrará como mostrar texto o html.

PROGRAM test;
BEGIN
{ IMPRIMER LA CABECERA QUE INDICA EL TIPO DE DOCUMENTO }
writeln('Content-type: text/html');
writeln;

{ ## TEXTO O CÓDIGO HTML DE NUESTRA PRIMERA PÁGINA ## }
writeln('<HTML>');
writeln('<HEAD>');
writeln('<TITLE>Mi primer programa...</TITLE>');
writeln('</HEAD>');
writeln('<BODY>');
writeln('Mi primer programa');
writeln('</BODY>');
writeln('</HTML>');
END.

Lo más importante del código mostrado y donde debemos prestar mayor atención es la cabecera. Esta consiste en una línea que indica al servidor el tipo de documento que queremos mostrar y un salto de línea, o simplemente una línea vacía. La inclusión de la cabecera es imprescindible, ya que de lo contrario el servidor HTTP (Apache) no sabría como actuar. El programa de nuestro ejemplo muestra una página de texto o HTML normal, por ello hemos indicado que el tipo de contenido es "text/html".

writeln('Content-type: text/html');
writeln;

Si nuestro programa mostrara como resultado una imagen JPEG, deberíamos indicar que el documento es de tipo "image/jpeg". Por lo tanto, la cabecera debería ser similar a el siguiente código:

writeln('Content-type: image/jpeg');
writeln;

La segunda parte del documento no es más que el contenido del mismo, código HTML en este caso.

Ahora que ya sabemos como mostrar una página HTML usando un programa en Pascal, pasemos a ver el siguiente ejemplo que mediante el uso de la unidad "uncgi" muestra información acerca del navegador cliente y algunas variables que le pasamos mediante el método GET:

PROGRAM miprograma;
USES uncgi;
BEGIN
{ ##- IMPRIME CABECERA STANDAR PARA TEXT/HTML ##- }
cgi_init;

{ ##- CONTENIDO DEL DOCUMENTO ##- }
Writeln ('Agente = ', http_useragent);
Writeln ('Página = ', http_referer);
Writeln ('Nombre = ', get_value('nombre'));
Writeln ('Apellido = ', get_value('apellido'));
END.

Una vez compilado el código, es imprescindible que le apliques los permisos apropiados para poder así ejecutarlo. Es preciso que Apache pueda ejecutar el fichero, por lo que en la mayoría de los servidores, será suficiente con aplicarle el permiso 755 mediante el comando chmod, es decir:
chmod 755 <fichero>

Esto lo puedes hacer usando prácticamente cualquier cliente FTP, aunque también lo puedes hacer mediante telnet o SSH.

Ahora debes llamar al fichero desde tu navegador, para ello no tienes más que teclear la dirección donde se ubica y pasarle los parámetros "nombre" y "apellido" de la siguiente forma:
http://tudominio.com/miprograma?nombre=TUNOMBRE&apellido=TUAPELLIDO

El programa mostrará la información sobre el "Agente" (el navegador…) que lo esta llamando, la página desde donde ha sido referido el agente, el valor de la variable "nombre" que le hemos pasado y el valor de la variable "apellido" que también se lo hemos pasado mediante el método GET.

2 Responses to “Introducción a la programación CGI en Pascal”

  1. Miguel Says:

    Me gustari saber como se salta un linea cuando estas programando con free pascal.Si alguien lo sabe me gustaria ke me enviase una respuesta a la direccion ke e puesto.Gracias y disculpen las molestias
    .

  2. Aitor Ortuondo Says:

    De las siguientes maneras:

    writeln;

    O, posiblemene también con:

    writeln(”\n”);

Leave a Reply