Menu
Coddy logo textTech

Codici di uscita di curl

Lezione 30 di 47 del corso Reti da terminale di Coddy.

In un singolo comando curl esistono due nozioni completamente diverse di errore, e confonderle causa problemi reali.

Il codice di stato è la risposta del server: 200, 404, 500. Il codice di uscita indica se curl è riuscito a stabilire una comunicazione.

Un 404 è una comunicazione riuscita. Il server è stato raggiunto, ha compreso la richiesta e ha risposto. curl termina con 0. Uno script che controlla solo il codice di uscita considererà tutto a posto: è una causa classica di pipeline che vanno a buon fine mentre scaricano una pagina di errore.

curl -s -o /dev/null http://127.0.0.1:9120/missing
echo $?     # 0, perché la richiesta stessa è andata a buon fine

Se vuoi che un codice di stato non valido causi un errore, richiedilo con --fail, che fa terminare curl con un valore diverso da zero per i codici 4xx e 5xx. Altrimenti, controlla tu stesso %{http_code}.

challenge icon

Sfida

Difficile

Mostra che un 404 è comunque una richiesta riuscita.

  1. Servi una cartella sulla porta 9120
  2. Richiedi una pagina che non esiste e stampa status= con il codice di stato
  3. Sulla riga successiva stampa exit= con il codice di uscita di curl

Output previsto:

status=404
exit=0

Leggi $? subito dopo il comando curl che l'ha prodotto.

Provalo tu

Terminale
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Reti da terminale

Esercitati da solo: Playground Terminal