Recetas en CGIPara mandar una cookie en CGI, lo primero que se debe hacer es escribir un shell script de UNIX, un programa en C, o en PERL o en algún otro lenguaje. En lo que sigue, utilizaremos sencillos programas en C. En primer lugar, el programa debe crear la información de la cabecera HTML y a continuación enviar la cookie, seguida del resto del documento HTML. El formato de la cookie es:
El significado de cada campo ya quedó explicado en ingredientes de las cookies. Todas estas cabeceras deben enviarse usando la forma estándar de salida por pantalla del lenguaje correspondiente, en el caso del C, la función printf( ). El ejemplo más sencillo posible, que simplemente nos envía una cookie, sería: int main() Cuando el servidor recibe peticiones del cliente, comprueba si en la variable de entorno HTTP_COOKIE existen cookies. Añadiendo la siguiente línea al programa anterior, podemos visualizar las cookies que hemos recibido del servidor: printf( "%s ", getenv("HTTP_COOKIE") ); Podemos ver cómo funcionaría el programa anterior completo, pulsando el botón de enviar cookie. Por supuesto, en el caso anterior, el envío de la cookie se podría generalizar, creando una función que mandase cookies, a la que se le pasasen como parámetros los campos de la cookie: void set_cookie(char *name, char *value, char *expires, char
*path, char *domain, short secure) Nota: Es importante no olvidar la nueva línea \n al final del envío de la cookie, así como los dos saltos de línea en printf("Content-type: text/html\n\n"); Si quieres, puedes estudiar el listado completo del programa anterior. Para ver ejemplos más complicados, visita la página de ejemplos. Copyright © 1997-1999 Gonzalo Álvarez Marañón, CSIC. Todos los derechos reservados. Criptonomicón es un servicio ofrecido libremente desde el Instituto de Física Aplicada del CSIC. Para información sobre privacidad, por favor consulte la declaración de política sobre privacidad. |