Converteer curl naar C
curl2code converteert curl-opdrachten naar C-code met libcurl. De conversie wordt in je browser uitgevoerd via WebAssembly voor volledige privacy. Voor Rust, bekijk onze curl naar Rust-converter. Voor Go, zie curl naar Go. Hieronder staan praktische C-voorbeelden met correct geheugenbeheer.
Hoe je curl kopieert vanuit je browser
- 1
Open Ontwikkelaarstools
Druk op F12 of Ctrl+Shift+I om de ontwikkelaarstools van je browser te openen.
- 2
Ga naar het tabblad Netwerk
Klik op het tabblad Netwerk en voer de actie uit die het HTTP-verzoek activeert.
- 3
Kopiëren als cURL
Klik met de rechtermuisknop op het verzoek → Kopiëren → Kopiëren als cURL. Plak het vervolgens hierboven.
Veelgestelde vragen
Wat is libcurl?
libcurl is de C-bibliotheek achter de curl command-line tool. Het is de meest draagbare en meest gebruikte HTTP-clientbibliotheek die er bestaat, met ondersteuning voor meer dan 25 protocollen. Gebruikt door duizenden applicaties en embedded systemen. Voeg toe met je systeem-pakketbeheerder of link statisch. curl2code genereert libcurl C-code met behulp van de easy interface.
libcurl easy vs multi interface — welke te gebruiken?
De easy interface (curl_easy_*) is voor enkele synchrone overdrachten — eenvoudig en ongecompliceerd. De multi interface (curl_multi_*) maakt niet-blokkerende gelijktijdige overdrachten in een enkele thread mogelijk. Gebruik easy voor scripts en eenvoudige tools, multi voor krachtige applicaties. Zie voor een C-familie taal op een hoger niveau curl naar Rust.
Hoe ga je om met authenticatie met libcurl?
Voor Bearer: stel een aangepaste header in met curl_slist_append(headers, "Authorization: Bearer token"). Voor Basic auth: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl codeert Basic auth-inloggegevens automatisch. curl2code zet -u en header-vlaggen om naar de juiste C API-aanroepen.
Hoe verstuur je multipart form-data met libcurl?
Gebruik de MIME API (libcurl 7.56+): curl_mime_init() om een mime-structuur aan te maken, curl_mime_addpart() voor elk veld, curl_mime_name() en curl_mime_filedata() voor bestandsuploads. Stel in met CURLOPT_MIMEPOST. Maak vrij met curl_mime_free().
Hoe ga je om met fouten met libcurl?
Elke curl_easy_*-functie retourneert een CURLcode — controleer tegen CURLE_OK. Gebruik curl_easy_strerror(code) voor menselijk leesbare berichten. Stel CURLOPT_ERRORBUFFER in voor gedetailleerde foutmeldingen. Haal de HTTP-status op met curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).
Hoe beheer je geheugen met libcurl?
Roep altijd curl_easy_cleanup() aan wanneer je klaar bent met een handle. Maak headerlijsten vrij met curl_slist_free_all(). Maak MIME-structuren vrij met curl_mime_free(). Beheer voor write-callbacks je eigen bufferallocatie. Roep curl_global_cleanup() eenmalig aan bij het afsluiten van het programma. Het niet vrijmaken van resources veroorzaakt geheugenlekken.
Hoe stel je timeouts in met libcurl?
Stel CURLOPT_CONNECTTIMEOUT in voor de verbindingstimeout en CURLOPT_TIMEOUT voor de totale overdrachtstijd (beide in seconden). Gebruik voor milliseconde-precisie CURLOPT_CONNECTTIMEOUT_MS en CURLOPT_TIMEOUT_MS. Dit zijn exact dezelfde opties die curl CLI gebruikt met --connect-timeout en --max-time.
Hoe configureer je een proxy met libcurl?
Stel CURLOPT_PROXY in op de proxy-URL: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). Voor SOCKS5: stel CURLOPT_PROXYTYPE in op CURLPROXY_SOCKS5. Voor proxy-auth: CURLOPT_PROXYUSERPWD. libcurl respecteert ook de http_proxy omgevingsvariabele.
Hoe verstuur je een POST-verzoek met een JSON body in C?
Converteer een curl POST-commando zoals curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL naar C met curl2code. De gegenereerde code gebruikt curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code detecteert automatisch -d/--data flags met JSON-inhoud en stelt de juiste Content-Type header in de libcurl code in.
Hoe voeg je Bearer token autorisatie toe in C?
Geef curl -H "Authorization: Bearer YOUR_TOKEN" URL door aan curl2code en het genereert libcurl code met de auth header: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code detecteert Bearer tokens van zowel -H "Authorization: Bearer ..." als --oauth2-bearer flags. Gebruik voor Basic auth -u user:pass.
Hoe stel je de Content-Type header in in C?
curl2code converteert curl -H "Content-Type: application/json" URL naar libcurl code met de juiste header: curl_slist_append(headers, "Content-Type: application/json"). Voor -d data gebruikt curl standaard application/x-www-form-urlencoded; voor -F formulier-uploads wordt multipart/form-data gebruikt. curl2code koppelt elk type aan de juiste libcurl API.