Menu
CoddyTech

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