CGI - BUSCADOR CGI

 
Vista:

BUSCADOR CGI

Publicado por Sergio munoz (1 intervención) el 16/02/2002 05:44:24
Hola muchachos, necesito hacer un trabajo en la universiad y es el de crear un buscador de tipo local ocupando CGI's, si alguien tiene uno por ahy , aunque sea antiguo , seria impecable que me lo enviara a mi correo [email protected] muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Crear un buscador local utilizando CGI

Publicado por Alejandro (140 intervenciones) el 23/08/2023 17:25:04
Crear un buscador local utilizando CGI puede ser un proyecto interesante. A continuación, te proporciono un ejemplo básico de cómo podrías implementar un buscador local utilizando tecnología CGI en C. Ten en cuenta que este es solo un ejemplo simple y que puedes expandirlo y mejorarlo según tus necesidades.

1. Estructura de archivos:

1
2
3
4
5
6
7
8
/cgi-bin/
└── buscador.cgi
/html/
    ├── index.html
    ├── resultados.html
    ├── archivo1.txt
    ├── archivo2.txt
    └── ...

2. HTML del formulario (index.html):

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
    <title>Buscador Local</title>
</head>
<body>
    <h1>Buscador Local</h1>
    <form action="/cgi-bin/buscador.cgi" method="GET">
        <input type="text" name="query" placeholder="Buscar...">
        <input type="submit" value="Buscar">
    </form>
</body>
</html>

3. Script CGI en C (buscador.cgi):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main() {
    printf("Content-Type: text/html\n\n");
 
    // Leer la consulta del formulario
    char *query = getenv("QUERY_STRING");
 
    if (query != NULL) {
        // Abre el archivo de resultados
        FILE *archivo;
        archivo = fopen("html/resultados.html", "w");
 
        if (archivo != NULL) {
            // Escribe la estructura básica del HTML
            fprintf(archivo, "<html><body><h1>Resultados de la búsqueda:</h1><ul>");
 
            // Escanea los archivos en el directorio y busca coincidencias
            char comando[100];
            sprintf(comando, "grep -ilr '%s' html/", query);
 
            FILE *pipe = popen(comando, "r");
            char buffer[100];
 
            while (fgets(buffer, sizeof(buffer), pipe) != NULL) {
                // Escribe los resultados en la página
                fprintf(archivo, "<li><a href=\"%s\">%s</a></li>", buffer, buffer);
            }
 
            pclose(pipe);
 
            // Cierra la estructura HTML
            fprintf(archivo, "</ul></body></html>");
 
            fclose(archivo);
        }
 
        // Redirige a la página de resultados
        printf("Location: /html/resultados.html\n\n");
    }
 
    return 0;
}

Este script toma la consulta de búsqueda del formulario, utiliza el comando `grep` para buscar coincidencias en los archivos del directorio `html/` y genera una página de resultados con enlaces a los archivos que contienen la consulta.

4. Prueba:

Carga el contenido en tus directorios adecuados y asegúrate de que el script tenga los permisos adecuados para ejecutarse. Visita `http://tudominio.com/html/index.html` para acceder al formulario de búsqueda y ver los resultados.

Este es solo un ejemplo básico para que tengas una idea de cómo podrías implementar un buscador local utilizando tecnología CGI en C. Puedes expandirlo agregando más funcionalidades, como una interfaz de usuario más atractiva, búsqueda en subdirectorios, manejo de resultados vacíos, etc. También, ten en cuenta que este ejemplo utiliza el comando `grep` para buscar coincidencias, lo cual podría no ser la mejor solución para conjuntos de datos más grandes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar