O User Agent
Lição 44 de 47 do curso Redes com o Terminal da Coddy.
Cada requisição anuncia o que a realizou, no cabeçalho User-Agent. curl envia seu próprio nome e versão; um navegador envia uma longa string histórica.
Isso importa mais do que parece. Os servidores normalmente se comportam de maneira diferente com base nisso: exibindo um layout para dispositivos móveis, bloqueando clientes desconhecidos ou rejeitando qualquer coisa que pareça automatizada. Portanto, “funciona no meu navegador, mas não no curl” geralmente é exatamente esse cabeçalho, e nada mais profundo.
curl -s -A 'my-monitor/1.0' http://127.0.0.1:9133/-A define isso, e é simplesmente uma abreviação de -H 'User-Agent: ...'.
Se você executar requisições automatizadas contra um serviço, definir um User-Agent honesto que identifique sua ferramenta é uma boa prática: quando seu tráfego causar um problema, quem estiver de plantão poderá dizer do que se trata e a quem recorrer.
Desafio
DifícilApresente-se honestamente.
- Inicie o listener de captura na porta 9133
- Faça uma solicitação identificando-se como
my-monitor/1.0 - Imprima a linha do agente do usuário de
req.txt
Saída esperada:
User-Agent: my-monitor/1.0Experimente você mesmo
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
2Nomes e DNS
Por que os nomes existemO arquivo hostsConsultando um nomeTipos de registrosRecapitulação: nomes3Portas e Sockets
O que é uma portaPortas conhecidasLocalhostEscutando vs. conectandoRecapitulação: portas6curl em Detalhes
Visualizando os CabeçalhosSalvando RespostasCabeçalhos PersonalizadosStatus e TempoCódigos de Saída do curlRecapitulação: Opções do curl9Autenticação e Depuração
Chaves de API e BearerO User AgentTimeouts e Novas TentativasLendo uma FalhaRevisão: DepuraçãoPratique por conta própria: Playground de Terminal