De curl-opdrachtregeltool is een perfecte assistent wanneer u met HTTP-code werkt. Test verzoeken, verken gegevensindelingen en meer!

Het Hypertext Transfer Protocol (HTTP) vormt de ruggengraat van communicatie via internet en maakt de overdracht van gegevens tussen servers en clients mogelijk. Interactie met HTTP-eindpunten kan echter een uitdaging zijn, vooral voor beginners.

Gelukkig biedt curl, een opdrachtregelprogramma, een gemakkelijke en efficiënte manier om HTTP-verzoeken te verzenden en te ontvangen. Hier leer je hoe je curl kunt gebruiken om standaard POST-, GET-, DELETE- en PUT-HTTP-verzoeken te maken.

Krul installeren

Curl is standaard geïnstalleerd op de belangrijkste besturingssystemen, waaronder macOS, Linux en Unix.

U kunt bevestigen dat curl is geïnstalleerd door de onderstaande opdracht uit te voeren:

Krul

Het bovenstaande commando zou "probeer 'curl --help' of 'curl --manual' voor meer informatie" op uw terminal moeten afdrukken.

Als curl niet op uw besturingssysteem is geïnstalleerd, kunt u het downloaden en installeren vanaf de curl-downloadpagina.

instagram viewer

Een HTTP GET-verzoek maken

Een HTTP GET-verzoek is een methode voor het opvragen van gegevens van een webserver. U kunt deze verzoeken gebruiken om een ​​specifieke bron op te halen, zoals een webpagina, afbeelding of video.

U kunt een GET-verzoek doen met curl in het onderstaande formaat:

krul -X GET 

Vervangen met de URL van de bron die u wilt ophalen.

Bijvoorbeeld:

krul -X GET https://example.com/todos/1

Het uitvoeren van de bovenstaande opdracht maakt een HTTP GET-verzoek naar de URL https://example.com/todos/1. De -X KRIJG optie geeft aan dat de HTTP-methode GET is. Wanneer de opdracht wordt uitgevoerd, stuurt curl een GET-verzoek naar de server die is opgegeven in de URL en wacht op het antwoord van de server.

Als de server reageert met een succesvolle statuscode, Krul geeft de hoofdtekst van het antwoord in de terminal weer, in dit geval de JSON-gegevens over een actiepunt met een ID van 1.

U kunt ook een GET-verzoek indienen zonder het -X flag omdat curl standaard een GET-verzoek doet wanneer u geen verzoekmethode specificeert met de -X vlag.

Bijvoorbeeld:

Krul https://example.com/todos/1

Als u de bovenstaande opdracht uitvoert, wordt hetzelfde antwoord geretourneerd als de vorige opdracht met de "-X KRIJG”vlag.

Een HTTP POST-verzoek maken

Een HTTP POST-verzoek is een methode om gegevens op een webserver op te slaan. In tegenstelling tot een GET-verzoek, dat gegevens verzendt als onderdeel van de URL, verzendt een POST-verzoek gegevens in de berichttekst van het verzoek. Dit maakt POST-verzoeken veiliger voor het verzenden van gevoelige informatie.

U kunt een POST-verzoek met curl doen in het onderstaande formaat:

krul -X POST -d 

Bijvoorbeeld:

curl -X POST -d 'name=jack' -d '[email protected]' \
 https://example.com/users

De bovenstaande opdracht stuurt een POST-verzoek naar https://example.com/users met de gegevens die door de -D vlag als lading.

De -D vlag specificeert de te verzenden gegevens. In dit geval specificeerde het twee gegevensparameters: naam=jack en [email protected].

Wanneer u de -D vlag meer dan één keer in een opdracht, kunt u de velden samenvoegen met behulp van het &-symbool.

Bijvoorbeeld:

curl -d "name=jack&[email protected]" https://example.com/api/users

Sommige gegevens die u zou kunnen proberen in een POST-verzoek te verzenden, kunnen moeilijk in een enkele string in uw terminal passen. In dergelijke gevallen kan het ideaal zijn om de gegevens uit een bestand te lezen en te POSTen met behulp van curl.

Gebruik de @ teken onmiddellijk na de -D flag, gevolgd door het bestandspad naar het bestand dat u curl wilt laten verzenden in het verzoek.

Bijvoorbeeld:

curl -X POST -d @gebruikers.txt https://example.com/api/users

Het inhoudstype specificeren

De... gebruiken -D flag stelt automatisch de Content-Type header in op application/x-www-form-urlencoded. U kunt echter handmatig het juiste inhoudstype voor uw verzoek specificeren met behulp van de -H of --kop vlag gevolgd door het gewenste inhoudstype.

Bijvoorbeeld:

curl -H "Inhoudstype: applicatie/json" \
 -d '{"name": "Jack", "e-mail": "[email protected]"}' \
 https://example.com/api/users

In de opdracht hierboven, de -H flag specificeert de Content-Type header als Inhoudstype: applicatie/json.

Je kunt vervangen toepassing/json met elk ander geldig MIME-type of inhoudstype dat geschikt is voor de gegevens die u in de aanvraagtekst verzendt. Als u bijvoorbeeld binaire gegevens uploadt, zoals een afbeelding of audiobestand, moet u het inhoudstype instellen op multipart/form-data.

Hiermee kunt u het verwachte formaat van de verzonden gegevens specificeren, wat belangrijk kan zijn bij interactie met API's of webservices die specifieke inhoudstypen vereisen voor een juiste verwerking.

Een HTTP PUT-verzoek maken

Een HTTP PUT-verzoek is een methode om een ​​bestaande bron op een webserver bij te werken of er een aan te maken als de bron niet bestaat. Deze methode verschilt van de POST-methode in die zin dat deze idempotent is. Dit betekent dat het één of meerdere keren achter elkaar aanroepen van de PUT-methode hetzelfde effect heeft op de server.

U kunt een PUT-verzoek met curl doen in het onderstaande formaat:

curl -X PUT -H "Content-Type: application/json" \
 -d '{"name": "Jack Bauer", "email": "[email protected]"}' \
 https://example.com/api/users/4

De bovenstaande opdracht stuurt een PUT-verzoek in JSON-indeling naar de webserver die is opgegeven in de bovenstaande URL en werkt de opgegeven bron bij. Als de opgegeven bron niet bestaat, wordt de bron op de webserver gemaakt.

Een HTTP DELETE-verzoek maken

Een HTTP DELETE-verzoek is een methode voor het verwijderen van een gespecificeerde bron van een webserver. Net als PUT-verzoeken zijn DELETE-verzoeken idempotent. Het meerdere keren verzenden van hetzelfde DELETE-verzoek naar dezelfde bron levert hetzelfde resultaat op de server op.

U kunt een DELETE-verzoek doen met curl door de onderstaande opdracht uit te voeren:

krul -X VERWIJDEREN http://example.com/api/users/3

De bovenstaande opdracht stuurt een DELETE-verzoek naar de webserver die is opgegeven in de bovenstaande URL en verwijdert de opgegeven bron.

Verwijderingsverzoeken verwijderen de opgegeven bron permanent van de server. Een webserver die DELETE ondersteunt, vereist dus meestal een vorm van authenticatie of autorisatie voordat u dit verzoek kunt doen.

Zo maakt u een DELETE-verzoek met een autorisatieheader:

curl -X DELETE -H "Autorisatie: Bearer my_access_token" \
 https://example.com/api/users/3

De bovenstaande opdracht biedt de authenticatie-informatie in de aanvraagheader met behulp van de Bearer-authenticatiemethode met de -H vlag. Autorisatie: drager my_access_token is de kopwaarde. mijn_access_token is een tijdelijke aanduiding voor uw werkelijke toegangstokenwaarde.

Andere manieren waarop u HTTP-verzoeken kunt doen

Naast curl zijn er meerdere manieren om HTTP-verzoeken te doen, afhankelijk van de context van het verzoek. De meest gebruikelijke methoden zijn het gebruik van een webbrowser zoals Chrome, een GUI-tool zoals Postman of een API-client.

Elk van deze opties heeft zijn voordelen en afwegingen. Uiteindelijk zal uw keuze voor een tool afhangen van de vereisten van uw taak.