Underc0de - La Casa de los Informáticos

Programación Scripting => Batch - Bash => Mensaje iniciado por: Barbol en Abril 11, 2024, 11:38:07 AM

Título: [BASH] Script para obtener datos de una persona
Publicado por: Barbol en Abril 11, 2024, 11:38:07 AM
(https://i.postimg.cc/9fLnDqrv/Hacker5.jpg) (https://postimages.org/)

Buenas. Esta es mi primer publicación en el foro. Les dejo este script que te trae los datos de una persona a partir de su DNI. Ideal para las altas de usuario cuando no te pasan todos los datos.

(https://i.ibb.co/LpGtZmg/Screenshot-1.png)

#!/bin/bash

#[by fleiva]
#DIRBASE=/home/barbol/fullname
DIRBASE=~/fullname
NC='\033[0m'            # No Color
BBlue='\033[1;34m'      # Blue
UPurple='\033[4;35m'    # Purple

function limpiarArchivo () { #Recibe el nombre de archivo que tiene que procesar
        echo "" > $DIRBASE"/nombreLimpio.txt"
        while IFS= read -r line
        do
                line="${line#"${line%%[![:space:]]*}"}"   # elimina los espacios por delante
                line="${line%"${line##*[![:space:]]}"}"   # elimina los espacios por detrás
                echo $line >>$DIRBASE"/nombreLimpio.txt"
        done < $1
        sed -i '/^ *$/d' $DIRBASE"/nombreLimpio.txt" #elimina filas en blanco
}

function borrarArchivos () {
        rm -rf $DIRBASE/curl.txt
        rm -rf $DIRBASE/filaSucia.txt
        rm -rf $DIRBASE/parteFilaSucia.txt
        rm -rf $DIRBASE/partecitaFilaSucia.txt
        rm -rf $DIRBASE/nombreEspacio.txt
        rm -rf $DIRBASE/nombreLimpio.txt
}

function ConsultarNosis () {
    texto="$1"
    endpoint="https://informes.nosis.com/Home/Buscar"
    body="Texto=$texto"

    # Realizar la solicitud HTTP POST
    jsonResponse=$(curl -s -X POST -d "$body" "$endpoint")

    # Verificar la respuesta JSON
    entidadesEncontradas=$(echo "$jsonResponse" | jq '.EntidadesEncontradas')

    count=$(echo "$entidadesEncontradas" | jq 'length')

# Verificar si se encontraron entidades
    if [[ $count -gt 0 ]]; then
        for ((i = 0; i < $count; i++)); do
            documento=$(echo "$entidadesEncontradas" | jq -r ".[$i].Documento")
            razonSocial=$(echo "$entidadesEncontradas" | jq -r ".[$i].RazonSocial")
            provincia=$(echo "$entidadesEncontradas" | jq -r ".[$i].Provincia")
            echo "============ NOSIS ============" | lolcat
            echo -e "${BBlue}CUIL:$NC $documento"
            echo -e "${BBlue}NOMBRE:$NC $razonSocial"
            echo -e "${BBlue}PROVINCIA:$NC $provincia"
            echo "===============================" | lolcat
        done
    else
        echo "===========================================" | lolcat
        echo "🔴 No se encontraron datos en nosis.com 🔴"
        echo "===========================================" | lolcat
    fi
}

#INICIO PROGRAMA
cd $DIRBASE

ConsultarNosis $1

curl -s https://www.cuitonline.com/search.php\?q\=$1 | grep -a breadcrumbsContainer | cut -d'<' -f 10 | cut -d'>' -f 2 > $DIRBASE"/nombreLimpio.txt"
cantPalabras=`wc -w $DIRBASE"/nombreLimpio.txt" | awk '{print $1}'`;
        if test $cantPalabras -eq 0;
        then
                echo "================================================" | lolcat
                echo "🔴 No se encontraron datos en cuitonline.com 🔴"
                echo "================================================" | lolcat
        else
                echo ""
                echo "============ CUITONLINE ============" | lolcat
                resultado=`cat $DIRBASE"/nombreLimpio.txt"`
                echo "🟢 $resultado 🟢"
                echo "====================================" | lolcat
        fi


borrarArchivos



Título: Re:[BASH] Script para obtener datos de una persona
Publicado por: AXCESS en Abril 11, 2024, 02:15:40 PM
Es obvio que es para Argentina.

Pregunta...

El script busca en internet o posee una Base de Datos interna. Intuyo que en internet?

Es posible agregarle, modificarle cierta Base de Datos, así como el patrón de búsqueda, como pudiera ser el # de móvil, en vez del DNI, y que tenga la misma funcionalidad?. Esta sería una modificación un tanto pretenciosa, sepa disculparme por el alto vuelo. Sería como un explorer o buscador de BD.

Está muy bueno su trabajo.

Una pena no ser argentino...
Título: Re:[BASH] Script para obtener datos de una persona
Publicado por: DtxdF en Abril 12, 2024, 04:46:13 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Realiza una petición HTTP/POST hacia "https://informes.nosis.com/Home/Buscar".
Título: Re:[BASH] Script para obtener datos de una persona
Publicado por: AXCESS en Abril 12, 2024, 01:56:05 PM
Sí lo ví en el script, pero siempre es bueno preguntar.

Está muy útil.