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 fineSe 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}.
Sfida
DifficileMostra che un 404 è comunque una richiesta riuscita.
- Servi una cartella sulla porta 9120
- Richiedi una pagina che non esiste e stampa
status=con il codice di stato - Sulla riga successiva stampa
exit=con il codice di uscita di curl
Output previsto:
status=404
exit=0Leggi
$?subito dopo il comando curl che l'ha prodotto.
Provalo tu
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Reti da terminale
6curl in dettaglio
Visualizzare le intestazioniSalvare le risposteIntestazioni personalizzateStato e tempiCodici di uscita di curlRiepilogo: opzioni di curl9Autenticazione e debugging
Chiavi API e BearerL’agente utenteTimeout e tentativiAnalizzare un erroreRiepilogo: debuggingEsercitati da solo: Playground Terminal