Menu
Coddy logo textTech

Recusado ou Expirado

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

Quando uma conexão falha, ela falha de uma entre algumas maneiras específicas, e cada uma aponta para um lugar diferente. curl informa qual delas ocorreu por meio do seu código de saída, o número que um comando deixa para trás, legível como $?.

curl -s http://127.0.0.1:9999/
echo $?

Três valem a pena memorizar:

  • 0: sucesso
  • 7: conexão recusada, a máquina respondeu e disse que não há nada escutando nesse endereço
  • 28: tempo limite excedido, nada respondeu

7 é rápido e 28 é lento, e essa diferença é o diagnóstico. Recusado significa que você alcançou a máquina e recebeu um não direto, então o endereço está correto e o serviço não está em execução. Um tempo limite significa que sua solicitação desapareceu, o que geralmente quer dizer que um firewall a descartou ou que o endereço está errado.

challenge icon

Desafio

Difícil

Faça as duas falhas acontecerem e leia os códigos.

  1. Peça uma página a http://127.0.0.1:9999/, onde não há nada escutando, e imprima refused= seguido pelo código de saída
  2. Faça o mesmo com http://10.255.255.1/, um endereço que absorve o tráfego, usando --max-time 2, e imprima timeout= e seu código de saída

Saída esperada:

refused=7
timeout=28

$? contém o código de saída do comando que acabou de ser executado, portanto leia-o imediatamente.

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