L’agente utente
Lezione 44 di 47 del corso Reti da terminale di Coddy.
Ogni richiesta dichiara chi l'ha effettuata nell'intestazione User-Agent. curl invia il proprio nome e la propria versione; un browser invia una lunga stringa storica.
È più importante di quanto sembri. I server si comportano regolarmente in modo diverso in base a essa: servono un layout per dispositivi mobili, bloccano client sconosciuti o rifiutano tutto ciò che sembra automatizzato. Quindi «funziona nel mio browser ma non in curl» spesso dipende proprio da questa intestazione, e da nient'altro.
curl -s -A 'my-monitor/1.0' http://127.0.0.1:9133/-A la imposta ed è semplicemente una forma abbreviata di -H 'User-Agent: ...'.
Se invii richieste automatizzate a un servizio, impostare uno User-Agent veritiero che indichi il nome del tuo strumento è una buona norma: quando il tuo traffico causa un problema, chi è reperibile può capire di cosa si tratta e a chi rivolgersi.
Sfida
DifficilePresentati in modo sincero.
- Avvia il listener di cattura sulla porta 9133
- Effettua una richiesta identificandoti come
my-monitor/1.0 - Stampa la riga dello user agent da
req.txt
Output previsto:
User-Agent: my-monitor/1.0Provalo 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