Konvertera curl till C
curl2code konverterar curl-kommandon till C-kod med libcurl. Konverteringen körs i din webbläsare via WebAssembly för total integritet. För Rust, kolla in vår curl till Rust-konverterare. För Go, se curl till Go. Nedan finns praktiska C-exempel med korrekt minneshantering.
Hur man kopierar curl från din webbläsare
- 1
Öppna DevTools
Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.
- 2
Gå till fliken Network
Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.
- 3
Kopiera som cURL
Högerklicka på begäran → Copy → Copy as cURL. Klistra sedan in den ovan.
Vanliga frågor
Vad är libcurl?
libcurl är C-biblioteket bakom kommandoradsverktyget curl. Det är det mest portabla och allmänt spridda HTTP-klientbiblioteket som finns, med stöd för över 25 protokoll. Det används av tusentals applikationer och inbyggda system. Lägg till med ditt systems pakethanterare eller länka statiskt. curl2code genererar libcurl C-kod med hjälp av easy-gränssnittet.
libcurl easy vs multi interface — vilket ska man använda?
Easy-gränssnittet (curl_easy_*) är för enstaka synkrona överföringar — enkelt och rakt på sak. Multi-gränssnittet (curl_multi_*) möjliggör icke-blockerande samtidiga överföringar i en enda tråd. Använd easy för skript och enkla verktyg, multi för högpresterande applikationer. För ett C-liknande språk på högre nivå, se curl till Rust.
Hur hanterar man autentisering med libcurl?
För Bearer: ställ in en anpassad header med curl_slist_append(headers, "Authorization: Bearer token"). För Basic-autentisering: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl kodar automatiskt Basic-autentiseringsuppgifter. curl2code konverterar -u och header-flaggor till korrekta C API-anrop.
Hur skickar man multipart-formulärdata med libcurl?
Använd MIME API (libcurl 7.56+): curl_mime_init() för att skapa en mime-struktur, curl_mime_addpart() för varje fält, curl_mime_name() och curl_mime_filedata() för filuppladdningar. Ställ in med CURLOPT_MIMEPOST. Frigör med curl_mime_free().
Hur hanterar man fel med libcurl?
Varje curl_easy_*-funktion returnerar en CURLcode — kontrollera mot CURLE_OK. Använd curl_easy_strerror(code) för läsbara meddelanden. Ställ in CURLOPT_ERRORBUFFER för detaljerade felsträngar. Hämta HTTP-status med curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).
Hur hanterar man minne med libcurl?
Anropa alltid curl_easy_cleanup() när du är klar med en handle. Frigör header-listor med curl_slist_free_all(). Frigör MIME-strukturer med curl_mime_free(). För write-callbacks, hantera din egen buffertallokering. Anropa curl_global_cleanup() en gång vid programavslut. Underlåtenhet att frigöra resurser orsakar minnesläckor.
Hur ställer man in timeouts med libcurl?
Ställ in CURLOPT_CONNECTTIMEOUT för anslutnings-timeout och CURLOPT_TIMEOUT för total överföringstid (båda i sekunder). För precision i millisekunder, använd CURLOPT_CONNECTTIMEOUT_MS och CURLOPT_TIMEOUT_MS. Dessa är exakt samma alternativ som curl CLI använder med --connect-timeout och --max-time.
Hur konfigurerar man en proxy med libcurl?
Ställ in CURLOPT_PROXY till proxyns URL: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). För SOCKS5: ställ in CURLOPT_PROXYTYPE till CURLPROXY_SOCKS5. För proxy-autentisering: CURLOPT_PROXYUSERPWD. libcurl respekterar även miljövariabeln http_proxy.
Hur skickar man en POST förfrågan med JSON body i C?
Konvertera ett curl POST kommando som curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL till C med curl2code. Den genererade koden använder curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code detekterar automatiskt -d/--data flaggor med JSON innehåll och ställer in rätt Content-Type header i libcurl kod.
Hur lägger man till Bearer token auktorisering i C?
Skicka curl -H "Authorization: Bearer YOUR_TOKEN" URL till curl2code så genereras libcurl kod med auth header: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code detekterar Bearer tokens från både -H "Authorization: Bearer ..." och --oauth2-bearer flaggor. För Basic auth, använd -u user:pass.
Hur ställer man in Content-Type header i C?
curl2code konverterar curl -H "Content-Type: application/json" URL till libcurl kod med rätt header: curl_slist_append(headers, "Content-Type: application/json"). För -d data använder curl som standard application/x-www-form-urlencoded; för -F formuläruppladdningar används multipart/form-data. curl2code mappar varje del till rätt libcurl API.