Bash:
Skicka en http-förfrågan
How to:
För att skicka en HTTP-förfrågan från Bash kan du använda curl
eller wget
. Här är exempel:
# Skicka en GET-förfrågan med curl
curl https://api.example.com/data
# Skicka en POST-förfrågan med curl och inkludera data
curl -X POST -H "Content-Type: application/json" -d '{"key1":"value1", "key2":"value2"}' https://api.example.com/submit
# Använd wget för att hämta innehållet på en sida
wget https://api.example.com/data
Sample output för en GET-förfrågan med curl
:
{
"response": "Success",
"data": [
// ... datat som returneras ...
]
}
Deep Dive
curl
och wget
är verktyg för nätverkskommunikation som har varit runt sedan tidigt 90-tal. curl
stödjer fler protokoll än wget
och kan använda till fler ändamål. wget
är ofta bättre för rekursiv nedladdning. När du skickar HTTP-förfrågningar är det viktigt att förstå metoder (som GET och POST), headers och statuskoder för att hantera svaren rätt.
Alternativ till curl
och wget
inkluderar specialiserade bibliotek för olika programmeringsspråk som requests
i Python. Det finns även nya verktyg som httpie
, som strävar efter ett mer användarvänligt gränssnitt.
När det kommer till implementeringen, används ofta curl
för att testa API:er under utveckling eller från script. Det är ett kraftfullt verktyg som kan hantera komplexa scenarier, t.ex. autentisering, anpassade headers, och olika HTTP-metoder.
See Also
curl
manualen: https://curl.se/docs/manpage.htmlwget
manualen: https://www.gnu.org/software/wget/manual/wget.html- HTTPie, ett mer användarvänligt CLI-verktyg: https://httpie.io/
requests
Python-biblioteket för att skicka HTTP-förfrågningar: https://docs.python-requests.org/