Menu
Coddy logo textTech

Códigos de salida de curl

Lección 30 de 47 del curso Redes con la terminal de Coddy.

Hay dos nociones completamente diferentes de fallo en un único comando curl, y confundirlas provoca errores reales.

El código de estado es la respuesta del servidor: 200, 404, 500. El código de salida indica si curl logró establecer la comunicación.

Un 404 es una comunicación exitosa. Se llegó al servidor, este entendió la solicitud y respondió. curl sale con 0. Un script que solo comprueba el código de salida considerará que todo está bien, lo que es una fuente clásica de canalizaciones que continúan correctamente mientras descargan una página de error.

curl -s -o /dev/null http://127.0.0.1:9120/missing
echo $?     # 0, porque la solicitud en sí funcionó

Si quieres que se produzca un fallo ante un estado incorrecto, solicítalo con --fail, que hace que curl salga con un valor distinto de cero ante respuestas 4xx y 5xx. De lo contrario, comprueba %{http_code} tú mismo.

challenge icon

Desafío

Difícil

Demuestra que un 404 sigue siendo una solicitud exitosa.

  1. Sirve una carpeta en el puerto 9120
  2. Solicita una página que no existe e imprime status= con el código de estado
  3. En la línea siguiente, imprime exit= con el código de salida de curl

Salida esperada:

status=404
exit=0

Lee $? inmediatamente después del curl que lo produjo.

Pruébalo tú mismo

Terminal
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Redes con la terminal

Practica por tu cuenta: Playground de Terminal