Skip to content

cURL-commando generator en builder

Bouw curl-commando's in je browser — stel methode, headers, auth en body in en krijg direct een kopieerbaar commando. Presets voor Bearer, POST JSON en bestandsupload. Gratis, privé, geen registratie.

Geen tracking Draait in je browser Gratis
Je commando wordt volledig in je browser gebouwd. Tokens, URL's en payloads verlaten je apparaat nooit.
Presets
Queryparameters
Headers
Authenticatie
Verzoekbody
Opties
Gegenereerd commando
Beoordeeld op correcte curl-commandogeneratie voor methoden, auth en body-typen, nauwkeurige headerkoppeling per body-type en shell-veilige aanhalingstekens en escaping — Go Tools Engineering Team · Jun 3, 2026

Wat is een curl-commando?

curl is een opdrachtregelprogramma voor het overdragen van gegevens via HTTP en tientallen andere protocollen. Een curl-commando bestaat uit de binaire naam, een reeks vlaggen en een URL — bijvoorbeeld `curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'`. Omdat curl op vrijwel elke Linux-, macOS- en moderne Windows-machine is geïnstalleerd, is het de universele manier om een API te testen, een verzoek uit documentatie te reproduceren of een service vanuit een CI-script te controleren. De beknoptheid die het krachtig maakt, maakt het ook moeilijk om te onthouden — precies waarom een visuele builder helpt.

Elk curl-commando heeft dezelfde anatomie. De methode (`-X GET`, `-X POST`, …) stelt het HTTP-werkwoord in, standaard GET. De URL is het eindpunt, met queryparameters toegevoegd na een `?`. Headers (`-H 'Sleutel: Waarde'`, herhaalbaar) bevatten metadata zoals `Accept` en `Content-Type`. Authenticatie is gewoon een speciale header — `-H 'Authorization: Bearer …'` voor een token, `-u gebruiker:wachtwoord` voor Basic-auth, of een aangepaste `-H 'X-API-Key: …'`. De body (`-d` voor ruwe of formulierdata, `-F` voor meerdelig en bestandsuploads) draagt de payload. Ten slotte bepalen optievlaggen zoals `-L` (volg omleidingen), `-i` (responsheaders opnemen) en `-v` (uitgebreid) het gedrag. Deze tool presenteert elk van die onderdelen als een formulierveld en herbouwt het commando live.

Grijp naar een curl-commandogenerator wanneer je anders zou worstelen met aanhalingstekens, de `Content-Type`-header vergeet bij een JSON POST of handmatig een meerdelige upload samenstelt. De builder zorgt voor de shell-veilige escaping met enkelvoudige aanhalingstekens, codeert je querystring en koppelt de juiste headers voor elk body-type — dan kopieer je een commando dat je kunt vertrouwen. Voor een uitputtende vlag-voor-vlag referentie met 40+ uitvoerbare voorbeelden, lees de bijbehorende curl-spiekbriefje; om lastige querystring-waarden te coderen kun je onze URL-encoder gebruiken.

Alles gebeurt in je browser. Je tokens, inloggegevens, URL's en verzoekbodies worden samengesteld met client-side JavaScript en worden nergens naartoe verzonden — je kunt dus commando's bouwen voor echte productie-eindpunten met echte API-sleutels en niets verlaat je apparaat.

# Plain GET — curl defaults to GET
curl https://api.example.com/users

# GET with a Bearer token (auth is just a header)
curl https://api.example.com/me \
  -H 'Authorization: Bearer YOUR_TOKEN'

# POST a JSON body — note the Content-Type header
curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada","role":"admin"}'

# Multipart file upload — '@' reads the file from disk
curl -X POST https://api.example.com/upload \
  -F 'file=@report.pdf' \
  -F 'title=Q3 report'

Belangrijkste functies

Visuele verzoekbuilder

Leg het volledige verzoek uit als formuliervelden — methode, URL, queryparameters, headers, auth, body en opties — in plaats van de volgorde van vlaggen en aanhalingstekens te onthouden. Nooit meer raden of de URL voor of na de `-d` staat.

Live commando met kopiëren & exporteren

Het curl-commando herbouwt bij elke toetsaanslag onderaan de pagina. Kopieer het met één klik naar je klembord, of exporteer als .sh om een uitvoerbaar shellscript te downloaden dat je rechtstreeks in een repo of CI-job kunt plaatsen.

Volledige authenticatieondersteuning

Bearer-token, Basic-auth (`-u gebruiker:wachtwoord`) en aangepaste API-sleutelheaders, elk uitgegeven in het exacte formaat dat servers verwachten. Kies het schema, plak de inloggegevens en de juiste `Authorization`- of aangepaste header wordt voor je gegenereerd.

Elk body-type

Ruwe JSON (met de bijbehorende `Content-Type`-header automatisch toegevoegd), `application/x-www-form-urlencoded`-formuliervelden en `multipart/form-data`-uploads waarbij elk veld kan worden omgeschakeld naar een bestand met het `@`-prefix.

Zes presets met één klik

GET met Bearer, POST JSON, Formulierupload, Basic-auth, Download `-o` en Uitgebreide debug vullen het hele formulier in één tik in. Begin vanuit een werkend verzoek voor de meest voorkomende API-taken en pas van daaruit aan.

Meerregelige & eenregelige uitvoer

Wissel tussen een compact eenregelig commando voor snel plakken en een versie met backslash-vervolging over meerdere regels die gemakkelijk te lezen is in een script of te bekijken in een pull request. Hetzelfde commando, twee vormen.

100% browsergebaseerde privacy

Tokens, URL's, headers en verzoekbodies worden volledig aan de clientzijde samengesteld en verlaten je apparaat nooit — controleer het op het tabblad Netwerk. Veilig voor productie-eindpunten en live inloggegevens met nul gegevensblootstelling.

Gebouwd voor de DevTools-workflow

Ontworpen rond de dagelijkse cyclus van het testen van API's en het reproduceren van verzoeken vanuit browser DevTools "Kopiëren als cURL". Een tabblad Converteren dat een geplakt curl-commando omzet in fetch, requests, Go, PHP, Ruby en Node.js verschijnt in de volgende release.

curl-alternatieven & HTTP-clients

HTTPie

CLI, gebruiksvriendelijke syntaxis

Een moderne CLI met gekleurde uitvoer en een beknoptere syntaxis (`http POST api.example.com/users name=Ada`). Stelt standaard het JSON-`Content-Type` in. Vriendelijker voor interactief gebruik; curl wint op beschikbaarheid en scriptportabiliteit.

wget

CLI, downloadgericht

Het beste voor recursieve downloads en het spiegelen van sites; volgt omleidingen en herprobeert standaard. Zwakker dan curl voor willekeurige methoden, aangepaste headers en API-testen. Vaak vooraf geïnstalleerd naast curl op Linux.

Postman

GUI-app

Een volledige GUI voor het bouwen, opslaan en delen van verzoeken met collecties, omgevingen en teamsync. Geweldig voor verkennend API-werk; kan curl importeren/exporteren. Zwaarder dan een eenregelig commando voor snelle controles of CI.

Insomnia

GUI-app

Een lichter open-source alternatief voor Postman met een overzichtelijke verzoekbuilder en curl-import/-export. Goed voor het organiseren van API-verzoeken; net als Postman meer dan je nodig hebt voor één gescripte aanroep.

fetch() / requests

In-code HTTP-clients

JavaScript `fetch()` en Python `requests` zijn hoe je de aanroep vanuit applicatiecode doet. Bouw en verifieer het verzoek eerst als curl, vertaal het dan — het aankomende tabblad Converteren zal gelijkwaardige fetch-, requests- en andere clientcode genereren.

curl-commando-voorbeelden

Eenvoudig GET-verzoek

curl https://api.example.com/users

Zonder methodevlag gebruikt curl standaard GET. Dit is het eenvoudigst mogelijke verzoek — haal een resource op en druk de responsebody af in je terminal. Voeg queryparameters toe in de builder en ze worden automatisch URL-gecodeerd toegevoegd (`?page=2&limit=50`).

GET met Bearer-token

curl https://api.example.com/me \
  -H 'Authorization: Bearer YOUR_TOKEN'

De meest voorkomende geauthenticeerde aanroep tegen een REST API. De Bearer-auth-preset voegt de `Authorization: Bearer …`-header voor je toe. Om te inspecteren wat er in een JWT zit voordat je hem verzendt, plak je het token in onze JWT-decoder.

POST JSON-body

curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada","role":"admin"}'

Een standaard voor curl POST-verzoekgeneratoren: het JSON-body-type stelt `-X POST` in, koppelt de `Content-Type: application/json`-header en geeft de payload door via `-d`. Formatteer rommelige API-responses daarna met onze JSON-formatter.

POST-formulier (urlencoded)

curl -X POST https://api.example.com/login \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'username=ada&password=s3cret'

Klassieke HTML-formulierverzending. Elk `-d veld=waarde`-paar wordt samengevoegd met `&` en verzonden als `application/x-www-form-urlencoded`. curl URL-codeert gereserveerde tekens; bouw de velden in het formulierbody-gedeelte en de tool stelt de string voor je samen.

Meerdelige bestandsupload

curl -X POST https://api.example.com/upload \
  -F 'file=@report.pdf' \
  -F 'title=Q3 report'

Het curl-bestandsuploadcommando gebruikt `-F` voor `multipart/form-data`. Gebruik een `@`-prefix om een bestand van schijf te koppelen; mix bestands- en tekstvelden naar wens. curl stelt de meerdelige grens en `Content-Type` automatisch in — stel deze nooit handmatig in.

Downloaden naar bestand

curl -L -o archive.zip \
  https://example.com/files/archive.zip

Sla de responsebody op in een benoemd bestand met `-o`, en `-L` volgt eventuele omleidingen naar de echte download-URL (gangbaar bij CDN- en release-assetlinks). Gebruik `-O` in plaats van `-o` om de bestandsnaam van de server te behouden.

Basisauthenticatie

curl -u ada:s3cret \
  https://api.example.com/private

curl Basic-auth gebruikt `-u gebruiker:wachtwoord`; curl Base64-codeert de inloggegevens in een `Authorization: Basic …`-header over de lijn. Stuur Basic-auth altijd over HTTPS — Base64 is codering, geen versleuteling, en is triviaal omkeerbaar.

Uitgebreide debug

curl -v -i https://api.example.com/health

Als een verzoek zich misdraagt, drukt `-v` de volledige verzoekregel, elke verzonden en ontvangen header en de TLS-handshake af; `-i` neemt de responsheaders op in de body-uitvoer. Het eerste middel dat je moet inzetten als een API de verkeerde statuscode retourneert.

Hoe bouw je een curl-commando

  1. 1

    Kies de HTTP-methode

    Selecteer GET, POST, PUT, PATCH, DELETE, HEAD of OPTIONS. curl gebruikt standaard GET; het kiezen van POST of een ander werkwoord voegt `-X METHODE` toe aan het gegenereerde commando. Of tik op een presetknopje om de methode en een bijbehorende body in één klik in te stellen.

  2. 2

    Voer de URL en queryparameters in

    Typ de verzoek-URL (bijv. `https://api.example.com/users`). Voeg queryparameters toe als sleutel/waarde-paren en de tool URL-codeert ze en voegt `?sleutel=waarde&…` automatisch toe aan de URL — geen handmatige codering nodig.

  3. 3

    Voeg headers en authenticatie toe

    Voeg verzoekheaders toe als sleutel/waarde-paren en kies vervolgens een authenticatieschema: Geen, Bearer-token, Basic (gebruikersnaam/wachtwoord) of een aangepaste API-sleutelheader. De juiste `Authorization`- of aangepaste header wordt gegenereerd in het exacte formaat dat de server verwacht.

  4. 4

    Stel de verzoekbody in

    Voor POST/PUT/PATCH kies je een body-type: plak ruwe JSON (de `Content-Type`-header wordt voor je toegevoegd), bouw urlencoded-formuliervelden op of stel een meerdelige upload samen en zet elk veld om naar een bestand met het `@`-prefix.

  5. 5

    Schakel opties in

    Zet de vlaggen aan die je nodig hebt — volg omleidingen (`-L`), onveilige TLS (`-k`), uitgebreid (`-v`), headers opnemen (`-i`), gecomprimeerd (`--compressed`), uitvoer naar bestand (`-o`), een verbindingstime-out of een proxy (`-x`). Elke schakelaar werkt het commando live bij.

  6. 6

    Kopieer, exporteer of wis

    Kopieer het voltooide commando, exporteer als .sh om het als script te downloaden, of wis het formulier. Gebruik de schakelaar Meerdere regels om te wisselen tussen eenregelige en backslash-voortgezette uitvoer voordat je kopieert.

Veelgemaakte curl-fouten

Ontbrekende -X bij een methode met een body

Het verzenden van een body met `-d` impliceert POST, maar als je PUT of PATCH nodig hebt, moet je dit expliciet opgeven met `-X`. Als je dit vergeet, wordt de body als POST verzonden en retourneert de server de verkeerde status of weigert het verzoek.

✗ Fout
# Bedoeld als PATCH, maar -d alleen impliceert POST
curl -d '{"role":"admin"}' \
  https://api.example.com/users/7
✓ Correct
# Stel het werkwoord expliciet in
curl -X PATCH -d '{"role":"admin"}' \
  -H 'Content-Type: application/json' \
  https://api.example.com/users/7

Ontbrekende Content-Type bij een JSON POST

JSON verzenden met `-d` stelt de `Content-Type`-header NIET in — curl gebruikt standaard `application/x-www-form-urlencoded`. De meeste API's kunnen dan de body niet verwerken en retourneren een 400 of 415. Voeg altijd het JSON-inhoudstype toe (of gebruik de JSON-body-preset, die het voor je toevoegt).

✗ Fout
# Server ziet urlencoded, niet JSON — 400/415
curl -X POST https://api.example.com/users \
  -d '{"name":"Ada"}'
✓ Correct
# Declareer het JSON-inhoudstype
curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada"}'

Escaping van enkele vs dubbele aanhalingstekens

Binnen dubbele aanhalingstekens breidt de shell `$`, backticks en `!` uit, waardoor JSON wordt misvormd of een `$variabele` in je payload breekt. Enkele aanhalingstekens sturen de body letterlijk door. Gebruik enkele aanhalingstekens voor JSON-bodies; schakel over naar dubbele aanhalingstekens alleen op `cmd.exe`, dat geen enkele aanhalingstekens kent.

✗ Fout
# $name wordt door de shell uitgebreid tot lege string
curl -d "{\"user\":\"$name\"}" \
  https://api.example.com/users
✓ Correct
# Enkele aanhalingstekens sturen de body letterlijk
curl -d '{"user":"$name"}' \
  https://api.example.com/users

-d gebruiken bij een GET-verzoek

Het toevoegen van `-d` aan een verzoek maakt het stilzwijgend een POST. Als je een GET met queryparameters wilde, zet ze dan in de URL (of gebruik `-G` om de `-d`-data in de querystring op te vouwen). Een `-d` bij een GET is een van de meest voorkomende redenen waarom "mijn GET werkt niet".

✗ Fout
# -d maakt dit een POST, niet een GET
curl -d 'page=2&limit=50' \
  https://api.example.com/users
✓ Correct
# Querystring in de URL houdt het een GET
curl 'https://api.example.com/users?page=2&limit=50'

Windows-regelvervolging: ^ vs \

De backslash (`\`) zet een commando op de volgende regel voort in bash, Git Bash en WSL. In `cmd.exe` is het vervolgingsteken het dakje (`^`) en in PowerShell een backtick (`` ` ``). Het plakken van een backslash-vervolgd commando in `cmd` breekt het — schakel deze tool over naar eenregelige uitvoer voor Windows `cmd`.

✗ Fout
:: cmd.exe — backslash is geen vervolgingsteken
curl -X POST https://api.example.com/users \
  -d '{"name":"Ada"}'
✓ Correct
:: cmd.exe — één regel, of gebruik ^ voor vervolging
curl -X POST https://api.example.com/users -d "{\"name\":\"Ada\"}"

Spaties in de URL niet gecodeerd

Een ruwe spatie (of `&`, `#`, `?`) in een URL of querywaarde breekt het commando — de shell splitst het argument en curl ziet een afgekorte URL. Codeer de waarde procentueel (een spatie wordt `%20`) of laat curl het coderen met `--data-urlencode`. De queryparametervelden in deze tool coderen automatisch.

✗ Fout
# Spatie splitst het argument — curl ziet twee args
curl https://api.example.com/search?q=hello world
✓ Correct
# Codeer de spatie (of zet de hele URL tussen aanhalingstekens)
curl 'https://api.example.com/search?q=hello%20world'

Veelvoorkomende gebruiksscenario's

REST API-testen
Bouw verzoeken en stuur ze naar een REST-eindpunt zonder de terminal te verlaten: stel de methode in, plak een Bearer-token, stuur een JSON-body en lees de response. De snelste manier om te bevestigen dat een API werkt voordat je clientcode schrijft.
Een verzoek uit documentatie reproduceren
API-documentatie toont eindpunten en parameters maar zelden een volledig, kopieerbaar commando. Vul hier de methode, URL, headers en auth in en krijg een curl-commando dat direct werkt — zonder gedoe met aanhalingstekens of ontbrekende `Content-Type`-headers.
CI/CD-rooktestscripts
Genereer een curl-commando voor een gezondheidscontrole of post-deploy rooktest en exporteer als .sh om het in een pipeline te plaatsen. Voeg `--connect-timeout` en `--max-time` toe zodat een vastgelopen eindpunt de build niet kan blokkeren, en controleer statuscodes met `-w`.
Bestandsupload & download
Stel een `multipart/form-data`-upload samen met `-F veld=@bestand`, of bouw een `-L -o bestandsnaam`-download die omleidingen naar een CDN volgt. Codeer lastige bestandsnamen of querywaarden eerst met onze URL-encoder.
Webhook-debuggen
Speel een webhook-payload opnieuw af door dezelfde JSON-body te POSTen die de provider verzendt, met de juiste handtekening- en `Content-Type`-headers. Reproduceer het exacte verzoek lokaal om te debuggen waarom je handler het heeft geweigerd.
Reproduceerbare bugrapporten
Plak één op zichzelf staand curl-commando in een bugrapport of PR zodat iedereen het exacte verzoek kan reproduceren — methode, headers, auth-placeholder en body. Veel duidelijker dan het verzoek in proza beschrijven.
curl-vlaggen leren
Zie hoe elke formulierkeuze overeenkomt met een echte vlag — kies Basic-auth en zie `-u` verschijnen, voeg een JSON-body toe en zie de `Content-Type`-header koppelen. Een praktische manier om de syntaxis te leren, in combinatie met ons curl-spiekbriefje.
Een verzoek voorbereiden om te converteren naar code
Bouw en verifieer het verzoek eerst als curl, vertaal het dan naar de HTTP-client van je app. Het aankomende tabblad Converteren zal een geplakt curl-commando omzetten in fetch, requests, Go, PHP, Ruby en Node.js — begin vanuit een curl-commando waarvan je weet dat het werkt.

curl-vlaggen & syntaxisreferentie

Shell-aanhalingstekens & escaping
De tool omsluit waarden met enkele aanhalingstekens, de veiligste vorm in POSIX-shells omdat niets binnen een string met enkele aanhalingstekens wordt uitgebreid. Een letterlijk enkel aanhalingsteken in een waarde wordt uitgegeven als de reeks `'\''` (sluit-aanhalingsteken, escaped aanhalingsteken, heropen-aanhalingsteken). Schakel in `cmd.exe` over naar dubbele aanhalingstekens; Git Bash en WSL voeren de gegenereerde commando's met enkele aanhalingstekens ongewijzigd uit.
-d vs --data-raw vs --data-binary
`-d`/`--data` verwijdert regeleindes en carriage returns uit de body — prima voor `sleutel=waarde`-paren, met verlies voor meerdere regels inhoud. `--data-raw` is hetzelfde maar behandelt een leidende `@` niet als bestandsnaam. `--data-binary` verzendt bytes precies zoals opgegeven (gebruik `@bestand` om ruwe bestandsinhoud te uploaden). Alle drie impliceren POST tenzij de methode wordt overschreven.
Meerdelig (-F) vs URL-gecodeerd (-d)
`-F veld=waarde` produceert `multipart/form-data` met een gegenereerde grens — vereist voor bestandsuploads (`-F bestand=@pad`) en gemengde bestands-/tekstformulieren. `-d veld=waarde` produceert `application/x-www-form-urlencoded`, een enkele met `&` samengevoegde string. Stel `Content-Type` nooit handmatig in voor meerdelig; curl berekent de grens en stelt de header zelf in.
Codering van auth-headers
Bearer-auth verzendt `Authorization: Bearer ` letterlijk (RFC 6750). Basic-auth van `-u gebruiker:wachtwoord` wordt Base64-gecodeerd in `Authorization: Basic ` over de lijn — codering, geen versleuteling, gebruik dus HTTPS. Een API-sleutel is de aangepaste header die de service vereist, bijv. `X-API-Key: `.
Querystring-codering
Queryparameters die in de builder worden toegevoegd, worden percent-gecodeerd en toegevoegd als `?sleutel=waarde&sleutel2=waarde2`. Gereserveerde tekens (spaties, `&`, `=`, `#`) worden geëscaped zodat de URL geldig is. Voor bodyvelden die gecodeerd moeten worden, handelt curl's eigen `--data-urlencode` de codering af op het moment van het verzoek.
Omleidingsgedrag (-L)
Zonder `-L` drukt curl een 301/302-respons af en stopt. Met `-L` volgt het de `Location`-header naar de uiteindelijke URL. Let op: curl laat de `Authorization`-header vallen bij een omleiding naar een andere host (een beveiligingsinvoering); gebruik `--location-trusted` alleen als je de implicaties begrijpt.
Gecomprimeerde responses
`--compressed` voegt een `Accept-Encoding`-header toe die gzip/deflate/brotli-ondersteuning adverteert en decomprimeert de response transparant, wat bandbreedte bespaart. De gedecodeerde body is identiek aan een ongecomprimeerd verzoek — puur een overdrachtsoptimalisatie, veilig om in te schakelen bij de meeste API-aanroepen.
Uitvoer: -o vs -O
`-o bestandsnaam` schrijft de responsebody naar een bestand dat je benoemt; `-O` slaat het op onder de externe bestandsnaam uit het URL-pad. Beide onderdrukken de normale stdout-dump. Combineer met `-L` zodat omleidingen naar de echte asset worden opgelost voordat het bestand wordt geschreven.

Beste werkwijzen voor curl-verzoeken

Nooit geheimen hard-coderen in gedeelde commando's
Een curl-commando dat je in een PR, een ticket of een chat plakt, wordt door anderen gelezen en geïndexeerd door tools. Vervang tokens en wachtwoorden door een placeholder (`UW_TOKEN`) of verwijs naar een omgevingsvariabele (`-H "Authorization: Bearer $API_TOKEN"`). Voor lange inloggegevens kan curl een header uit een bestand lezen met `-H @headerbestand`, zodat het geheim nooit in de shellgeschiedenis verschijnt.
Geef de voorkeur aan --data-binary @bestand voor binaire payloads
Als de body een bestand is waarvan de bytes van belang zijn — een afbeelding, een ondertekende payload, JSON waarbij witruimte significant is — gebruik dan `--data-binary @bestand` in plaats van `-d @bestand`. Gewone `-d` verwijdert regeleindes en carriage returns, waardoor binaire en meerregelige inhoud stilzwijgend wordt beschadigd. `--data-binary` verzendt het bestand precies zoals het op schijf staat.
Gebruik aanhalingstekens om headerwaarden
Omsluit `-H`-waarden altijd met aanhalingstekens: `-H 'Content-Type: application/json'`. Zonder aanhalingstekens splitst de spatie na de dubbele punt het argument en ziet curl een misvormde header. Enkele aanhalingstekens voorkomen ook dat de shell `$`, `*` en andere speciale tekens in de waarde uitbreidt — precies wat deze tool standaard uitgeeft.
Gebruik --compressed om bandbreedte te besparen
Voeg `--compressed` toe aan API-aanroepen en downloads om gzip/brotli-codering aan te vragen en curl transparant te laten decomprimeren. Voor JSON-intensieve API's kan dit de overdrachtsgrootte met 70-90% verminderen zonder dat de response die je ziet verandert — een gratis winst in scripts die herhaaldelijk eindpunten pollen.
Time-outs vastpinnen in scripts
Voeg in elke geautomatiseerde context `--connect-timeout` en `--max-time` toe zodat een traag of vastgelopen eindpunt een pipeline niet voor altijd kan blokkeren. Een gezondheidscontrole met `--max-time 10` faalt snel en laat je CI verdergaan. Combineer met `--retry N` om tijdelijke netwerkstoringen op te vangen zonder meteen op te geven.
Verifieer met -v voor automatisering
Voordat je een curl-commando in een script of cron-job inbakt, voer het één keer uit met `-v` om de exacte verzoekregel, headers en TLS-handshake te zien. Het is de snelste manier om een verkeerde methode, een ontbrekende `Content-Type` of een niet-gekoppelde auth-header te ontdekken — debug interactief en verwijder `-v` daarna voor productie.

Veelgestelde vragen

Wat doet deze tool?
Hij bouwt een gebruiksklaar curl-commando vanuit een eenvoudig formulier. Je kiest de HTTP-methode, typt een URL, voegt queryparameters en headers toe, kiest een authenticatieschema (Geen, Bearer, Basic of API-sleutelheader), stelt een verzoekbody in (JSON, formulier, meerdelig of bestandsupload) en schakelt optievlaggen in zoals volg-omleidingen of uitgebreid. Terwijl je het formulier invult, herbouwt het curl-commando live onderaan de pagina — kopieer het, exporteer het als `.sh`-script of wissel tussen eenregelige en meerregelige uitvoer. Het is een curl-commandogenerator gebouwd voor de dagelijkse workflow van het testen van een REST API, het reproduceren van een verzoek uit documentatie of het plaatsen van een reproduceerbaar commando in een bugrapport. Voor een uitgebreide referentie over de vlaggen zelf, zie onze curl-spiekbriefje.
Worden mijn gegevens (tokens, URL's) ergens naartoe geüpload?
Nee. Het volledige commando wordt in je browser samengesteld met JavaScript. Je tokens, inloggegevens, URL's, headers en verzoekbodies worden nooit verzonden, opgeslagen of geregistreerd op een server — je kunt dit bevestigen op het tabblad Netwerk in je browser, waar het bouwen van een commando nul netwerkverzoeken activeert. Daarom is de tool veilig te gebruiken met echte productie-eindpunten en live API-sleutels: niets wat je typt verlaat je apparaat. Het commando doet pas iets als je het kopieert en zelf uitvoert in je eigen terminal.
Hoe stuur ik een POST-verzoek met JSON in curl?
Stel de methode in op POST en kies het JSON-body-type; de tool produceert `curl -X POST -H 'Content-Type: application/json' -d '{…}'`. Twee onderdelen zijn belangrijk: de `-d` (of `--data`)-vlag draagt de body, en de `Content-Type: application/json`-header vertelt de server hoe het te verwerken — laat de header weg en veel frameworks negeren of lezen de payload verkeerd. Moderne curl (7.82+) biedt ook een `--json`-snelkoppeling die de header en body samen instelt. Plak na de aanroep de response in onze JSON-formatter om deze op te maken en te valideren.
Hoe voeg ik een Bearer-token toe aan een curl-verzoek?
Voeg een `Authorization`-header toe met de waarde `Bearer UW_TOKEN`, of kies de preset "GET met Bearer" en plak je token. Het gegenereerde commando is `curl -H 'Authorization: Bearer UW_TOKEN'`. Het woord `Bearer`, een enkele spatie, dan het token — dat exacte formaat is vereist door de OAuth 2.0 Bearer-specificatie (RFC 6750). Om de claims en vervaldatum van een token te inspecteren voordat je hem verzendt, decodeer je hem met onze JWT-decoder.
Hoe upload ik een bestand met curl?
Gebruik het Meerdelig body-type en zet een veld om naar Bestand: de tool geeft `curl -X POST -F 'file=@/pad/naar/bestand'` uit. Het `@`-prefix vertelt curl om het bestand van schijf te lezen en het te verzenden als `multipart/form-data`; je kunt meer `-F`-velden toevoegen voor zowel bestanden als gewone tekstwaarden in hetzelfde verzoek. Stel de `Content-Type`-header niet zelf in voor meerdelig — curl genereert de grens en stelt de header automatisch in, en deze overschrijven breekt de upload. Voor een enkel bestand PUT gebruikt curl `-T bestand `.
Kan ik een commando importeren dat gekopieerd is vanuit browser DevTools ("Kopiëren als cURL")?
Nog niet — dat is het tabblad Converteren, dat in de volgende release verschijnt. Het zal een geplakt curl-commando (inclusief het commando dat DevTools genereert met "Kopiëren als cURL") verwerken en vertalen naar JavaScript fetch, Python requests, Go, PHP, Ruby en Node.js. Momenteel is de tool een builder: maak het verzoek opnieuw aan door handmatig de URL, headers, auth en bodyvelden in te vullen. De DevTools-uitvoer is uitgebreid maar leesbaar — kopieer elke `-H`-header naar de headerssectie en de URL naar het URL-veld.
Hoe verschilt curl op Windows?
De curl-binary gedraagt zich hetzelfde; de shell-aanhalingstekens verschillen. In `cmd.exe` gebruik je dubbele aanhalingstekens (`"`) rond waarden en het dakje (`^`) voor regelvervolging, en enkele aanhalingstekens hebben geen speciale betekenis. In PowerShell is `curl` een alias voor `Invoke-WebRequest` tenzij je `curl.exe` expliciet aanroept, en aanhalingsregels verschillen weer. De meest pijnloze optie is Git Bash of WSL, waar de Unix-stijl enkelvoudige aanhalingstekens die deze tool genereert ongewijzigd werken. Als je `cmd` moet gebruiken, schakel dan de uitvoer naar eenregelig en vervang de `'…'`-aanhalingstekens door `"…"`.
Wat is het verschil tussen -d, --data-raw en --data-binary?
`-d` (alias `--data`) verzendt een body en verwijdert regeleindes en carriage returns uit de data — prima voor `sleutel=waarde`-formulierparen, riskant voor JSON die meerdere regels beslaat. `--data-raw` is identiek maar behandelt een leidende `@` niet als bestandsnaam, dus het is de veilige keuze als je data letterlijk met `@` kan beginnen. `--data-binary` verzendt de bytes precies zoals opgegeven zonder enige regeleindestripping — de juiste vlag voor het uploaden van ruwe bestandsinhoud (`--data-binary @bestand.json`) of elke payload waarbij witruimte van belang is. Alle drie impliceren POST tenzij je de methode overschrijft.
Hoe stuur ik cookies mee met curl?
Gebruik `-b` om cookies te verzenden en `-c` om ze op te slaan. `-b 'naam=waarde'` verzendt een letterlijke cookiestring, terwijl `-b cookies.txt` cookies leest uit een Netscape-formaatbestand. Om cookies op te slaan die een server instelt (bijvoorbeeld na een login), voeg je `-c cookies.txt` toe om ze naar een jar te schrijven en hergebruik je die jar vervolgens met `-b cookies.txt` bij het volgende verzoek. Deze builder is gericht op headers, auth en body; voor een cookie-header kun je ook gewoon een `Cookie: naam=waarde`-header toevoegen in de headerssectie.
Hoe volg ik omleidingen?
Schakel "Volg omleidingen (-L)" in of voeg de `-L`-vlag handmatig toe. Standaard drukt curl de 301/302-respons af en stopt; `-L` vertelt het om de `Location`-header te volgen naar de uiteindelijke bestemming. Dit is essentieel voor downloadlinks achter CDN's, verkorte URL's en API's die HTTP omleiden naar HTTPS. Combineer het met `-o bestandsnaam` om een gedownload bestand op te slaan nadat de omleiding is opgelost.
Hoe stel ik een verzoektime-out in?
Gebruik de optie "Verbindingstime-out" om `--connect-timeout ` toe te voegen, wat beperkt hoe lang curl wacht om de verbinding tot stand te brengen. Voor een maximum op de volledige overdracht — verbinding plus download — voeg je `--max-time ` handmatig toe aan het gegenereerde commando. Time-outs vastpinnen is een beste praktijk in elk script of CI-rooktest: zonder time-outs kan een vastgelopen eindpunt je pipeline voor onbepaalde tijd blokkeren. Combineer met `--retry N` als je wilt dat curl tijdelijke fouten herprobeert.

Gerelateerde tools

Alle tools bekijken →