Codici di uscita di curl
Lezione 30 di 47 del corso Reti da terminale di Coddy.
In un singolo comando curl ci sono due nozioni di errore completamente diverse, e confonderle causa bug reali.
Il codice di stato è la risposta del server: 200, 404, 500. Il codice di uscita indica se curl è riuscito ad avviare la comunicazione.
Un 404 è una conversazione riuscita. Il server è stato raggiunto, ha capito la richiesta e ha risposto. curl exits 0. Uno script che controlla solo il codice di uscita lo considererà corretto: è una causa classica di pipeline che passano 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 errore di stato causi un errore, richiedilo con --fail, che fa sì che curl esca con un codice diverso da zero per gli stati 4xx e 5xx. Altrimenti, controlla tu %{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