Paga en 4 cuotas sin intereses de $52.25

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19d

10h

16m

35s

1

Crear un archivo log con cURL

Como hacer un archivo log con CURL

Para el resultado final, haremos lo siguiente:

  1. Planteamiento del problema
  2. Buscando la solución
  3. Aproximación
  4. Pasos siguientes
  5. Referencias

1.- Planteamiento del problema

Hay una web que reporta caídas eventuales en horarios aleatorios, que hace que sea difícil realizar un seguimiento de las horas exactas para revisar a profundidad las causas que generan este comportamiento, por lo que es necesario tener un log donde se almacene la respuesta del estatus periódicamente y partir de allí identificar posibles soluciones.

No tenemos acceso al servidor web, pero si podemos consultar la página desde un navegador para poder ver si carga correctamente o no. (De tener acceso al servidor web, podríamos instalar una herramienta de monitoreo, pero la incidencia de esta tarea disminuirá un poco el rendimiento del servidor por lo que consideramos otra opción).

2.- Buscando la solución

En la web Everything curl de cURL se explican los comandos útiles para hacer algunas monerías con cURL, así que habiendo leído algunas de ellas y otros recursos llegamos a una opción para el uso de cURL.

La otra herramienta a emplear será usando un archivo bash (.sh) para poner todas las instrucciones dentro de un solo script y ejecutarlo todo junto.

3.- Aproximación

a) Entendiendo cURL

De manera predeterminada curl permite descargar una página web, mediante la siguiente instrucción

curl -o output.html http://example.com/

Esta opción, genera un archivo llamado output.html con el contenido de la url ingresada.

Esta parte -o nos servirá para definir el nombre del archivo y evitar que sea el servidor quien defina el nombre de nuestro archivo, como ocurriría si utilizáramos -O.

b) cURL, parámetros

Para propósitos de generar sólo un log, nos interesa sólo el «status code» de la página, es decir el Código de estado de la respuesta HTTP, que nos dirá si nuestra página se está cargando o no. No nos interesa el contenido de toda la página.

Para obtener el status code tomamos el siguiente ejemplo.

curl -s -o statuscode.html -w «%{http_code}» http://example.com

Esto generará un archivo llamado statuscode.html con el contenido de la página web, pero a la vez imprimirá en pantalla el status code de la página web.

El status code devuelto es el 200.

El código de respuesta de estado satisfactorio HTTP 200 OK indica que la solicitud ha tenido éxito.

c) cURL, afinando detalles

El status es bueno, aunque ahora para mejorar nuestro log, nos interesará también obtener la cabecera y saber detalles, como la hora del servidor, el tiempo de expiración de la sesión, etc. por lo que a la consulta agregaremos el modificador -I y el resultado lo guardamos en un archivo llamado statuslog.html

curl -I https://example.com -o statuslog.html -w '%{http_code}' -s

Esto nos devuelve en un archivo statuslog.html la cabecera de la página, misma que contiene el código de respuesta http y a la vez nos imprime en pantalla el código devuelto.

-I, modificador por el cual obtenemos la cabecera de la URL consultada
-o, escribe la salida en un archivo
-w, write-out, hace que curl muestre información en la salida estándar después de una transferencia completa}
-s, modo silencioso o silencioso. No muestra el medidor de progreso ni los mensajes de error

Para mejorar la instrucción anterior, podremos usar el caracter >> y escribir la salida en un archivo, y generar la salida a un archivo vacío, para evitar escribir un archivo statuslog.html.

4.- Pasos siguientes

Hasta este punto, ya tenemos lo básico para generar un estatus code por cada url a consultar, ahora pongamos todo en un script para ejecutar facilmente.

Nos aseguramos de estar en el directorio correcto
i20230522_001.png

Creamos un archivo con extensión .sh y verificamos su existencia
i20230522_003.png

Abrimos el archivo y editamos
i20230522_004.png

i20230522_005.png
  • La primer línea escribirá la fecha en un archivo llamado logScriptCURL.txt
  • La segunda línea escribe www.google.com en el archivo logScriptCURL.txt
  • La tercera línea genera una consulta CURL a la url www.google.com y el estatus code lo guarda en el archivo logScriptCURL.txt

Guardamos y salimos de la edición
i20230522_006.png

Ejecutamos el script recien creado
i20230522_007.png

Verificamos que ahora se creó un nuevo archivo llamado logScriptCURL.txt
i20230522_008.png

Abrimos el archivo con el comando less y visualizamos el contenido
i20230522_009.png

i20230522_010.png

Podemos observar que el estatus code fue 200, lo que significa que la url solicitada está respondiendo de manera exitosa a la hora que se realizó la solicitud a través de cURL.

5.- Referencias externas

Escribe tu comentario
+ 2