Menu
Coddy logo textTech

Códigos de Saída do curl

Lição 30 de 47 do curso Redes com o Terminal da Coddy.

Há duas noções completamente diferentes de falha em um único comando curl, e confundi-las causa bugs reais.

O código de status é a resposta do servidor: 200, 404, 500. O código de saída indica se o curl conseguiu estabelecer a comunicação.

Um 404 é uma comunicação bem-sucedida. O servidor foi alcançado, entendeu a solicitação e respondeu. curl termina com 0. Um script que verifica apenas o código de saída tratará isso como algo normal, o que é uma fonte clássica de pipelines que são considerados bem-sucedidos enquanto baixam uma página de erro.

curl -s -o /dev/null http://127.0.0.1:9120/missing
echo $?     # 0, porque a própria requisição funcionou

Se você quiser que uma resposta com status incorreto cause uma falha, solicite isso com --fail, que faz o curl terminar com um código diferente de zero para respostas 4xx e 5xx. Caso contrário, verifique %{http_code} por conta própria.

challenge icon

Desafio

Difícil

Mostre que um 404 ainda é uma solicitação bem-sucedida.

  1. Sirva uma pasta na porta 9120
  2. Peça uma página que não existe e imprima status= com o código de status
  3. Na linha seguinte, imprima exit= com o código de saída do curl

Saída esperada:

status=404
exit=0

Leia $? imediatamente após o curl que o produziu.

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Redes com o Terminal

Pratique por conta própria: Playground de Terminal