Está usted en Indice > Construcción > Lenguajes > CGI > Lecciones y Paso a Paso > Links aleatorios con CGI
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Links aleatorios con CGI

El funcionamiento es simple, hay una base de datos en un archivo de texto con los links y un programa CGI que consulta esta base de datos y selecciona en forma aleatoria uno de los enlaces.

Archivo: aleatorio.cgi

#!/usr/bin/perl
#
###############################################
# Editar #

$RandomLinkFile = "/turuta/cgi-bin/links.txt";

$UseLog = 0; #Usar log 0 = No; 1 = Yes
$RandomLogFile = "/turuta/cgi-bin/log.txt";

# No editar #
###############################################

    srand(time);
    open(LINKS,"$RandomLinkFile") || &Error("No se puede abrir archivo de links : $RandomLinkFile, Error $!n");
    $NbLines = @LinkFile = <LINKS>;
    close(LINKS);

    $Url = $LinkFile[int rand $NbLines];

    if ($UseLog) {
        @date = localtime(time); $date[4]++; $date[5] += 1900;
        $Time = "$date[4]/$date[3]/$date[5]";
        open(LOG,">>$RandomLogFile") || &Error("No se puede escribir log : $RandomLogFile, Error $!n");
        print LOG "[$Time] - $ENV{'REMOTE_HOST'} -> $Urln";
        close(LOG);
    }

    print "Location: $Urlnn";

sub Error {
    my($ErrorText) = @_;
    print "Content-type: text/htmlnn";   
    print "Error: ".$ErrorText;
    exit;
}

Archivo: links.txt

Http://www.sitio1.com
Http://www.sitio2.com
Http://www.sitio3.com
Http://www.sitio4.com
http://www.sitio5.com

Los archivos aleatorio.cgi y links.txt tienen que estar en el mismo directorio dentro de la carpeta cgi-bin.

aleatorio.cgi > ASCII > CHMOD 777
links.txt > ASCII > CHMOD 777

Ejemplo funcional: http://www.elanime.com.ar/cgi-bin/aleatorio.cgi

Hacerlo funcionar: Hacer un vínculo al programa cgi.

Ejemplo: <a href="http://www.tusitio.com/cgi-bin/aleatorio.cgi">Link aleatorio</a>

Autor: Leandro I. Burgoa

Original de WebExperto

 



Usuarios que han visto este tema también han visto...

- ¿Cual es la diferencia entre GET y POST?
- Introducción a la interfaz CGI
- Enviando un Archivo Existente como Respuesta
- Ganando Más Control con Scripts de Encabezado No-Analizados


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 25-05-2012 a las 11:29:50