Codifica dei form
Lezione 34 di 47 del corso Reti da terminale di Coddy.
Quando usi -d, curl aggiunge un'intestazione che descrive il formato del corpo:
Content-Type: application/x-www-form-urlencodedQuel nome lungo è il formato che i moduli HTML hanno sempre usato: coppie key=value unite da &. Il server legge quell'intestazione e sa di dover dividere il corpo in corrispondenza di quei caratteri.
Il che solleva l'ovvia domanda: cosa succede se un valore contiene un & o un =? Deve essere codificato, scritto come un segno di percentuale e due cifre esadecimali. Uno spazio diventa %20 o +, una e commerciale diventa %26.
--data-urlencode esegue questa codifica al posto tuo, ed è preferibile usarlo per qualsiasi dato digitato da una persona. Inviare input utente non elaborato con un semplice -d è il modo in cui i campi vengono misteriosamente troncati al primo segno di e commerciale.
Sfida
DifficileConferma l’intestazione che curl sceglie per te.
- Avvia il listener di acquisizione sulla porta 9124
- Invia
a=1con-dtramite POST - Stampa la riga Content-Type da
req.txt
Output previsto:
Content-Type: application/x-www-form-urlencodedIgnora la distinzione tra maiuscole e minuscole e ancora all’inizio della riga.
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
4È raggiungibile?
ICMP e pingLeggere l'output di pingQuando ping menteConnessione rifiutata o timeoutRiepilogo: raggiungibilità7Invio di dati
POST con -dCosa invia davvero -dCodifica dei formInvio di JSONPUT e DELETERiepilogo: scrivere datiEsercitati da solo: Playground Terminal