Prevod curl do C

curl2code konvertuje curl príkazy na C kód pomocou libcurl. Prevod prebieha vo vašom prehliadači cez WebAssembly pre úplné súkromie. Pre Rust si pozrite náš prevodník curl do Rustu. Pre Go si pozrite curl do Go. Nižšie sú praktické C príklady so správnou správou pamäte.

Ako skopírovať curl z vášho prehliadača

  1. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy as cURL. Potom ju prilepte vyššie.

Často kladené otázky

Čo je libcurl?

libcurl je C knižnica, ktorá stojí za nástrojom curl pre príkazový riadok. Je to najprenosnejšia a najrozšírenejšia knižnica HTTP klienta, podporujúca viac ako 25 protokolov. Používajú ju tisíce aplikácií a vstavaných systémov. Pridajte ju pomocou správcu balíkov vášho systému alebo ju nalinkujte staticky. curl2code generuje C kód pre libcurl pomocou rozhrania easy.

libcurl easy vs multi interface — ktoré použiť?

Rozhranie easy (curl_easy_*) je určené pre jednotlivé synchrónne prenosy — je jednoduché a priamočiare. Rozhranie multi (curl_multi_*) umožňuje neblokujúce súbežné prenosy v jednom vlákne. Easy používajte pre skripty a jednoduché nástroje, multi pre vysoko výkonné aplikácie. Pre vyšší programovací jazyk z rodiny C si pozrite curl do Rustu.

Ako riešiť autentifikáciu s libcurl?

Pre Bearer: nastavte vlastnú hlavičku pomocou curl_slist_append(headers, "Authorization: Bearer token"). Pre Basic auth: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl automaticky kóduje prihlasovacie údaje pre Basic auth. curl2code konvertuje prepínače -u a hlavičky na správne volania C API.

Ako posielať multipart form data s libcurl?

Použite MIME API (libcurl 7.56+): curl_mime_init() na vytvorenie mime štruktúry, curl_mime_addpart() pre každé pole, curl_mime_name() a curl_mime_filedata() pre nahrávanie súborov. Nastavte pomocou CURLOPT_MIMEPOST. Uvoľnite pomocou curl_mime_free().

Ako riešiť chyby s libcurl?

Každá funkcia curl_easy_* vracia CURLcode — skontrolujte ho voči CURLE_OK. Použite curl_easy_strerror(code) pre ľudsky čitateľné správy. Nastavte CURLOPT_ERRORBUFFER pre podrobné chybové reťazce. Získajte HTTP stav pomocou curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).

Ako spravovať pamäť s libcurl?

Vždy volajte curl_easy_cleanup(), keď skončíte s handlom. Uvoľnite zoznamy hlavičiek pomocou curl_slist_free_all(). Uvoľnite MIME štruktúry pomocou curl_mime_free(). Pre write callbacky spravujte vlastnú alokáciu buffera. Zavolajte curl_global_cleanup() raz pri ukončení programu. Neuvoľnenie zdrojov spôsobuje úniky pamäte.

Ako nastaviť timeouty s libcurl?

Nastavte CURLOPT_CONNECTTIMEOUT pre timeout pripojenia a CURLOPT_TIMEOUT pre celkový čas prenosu (obe v sekundách). Pre milisekundovú presnosť použite CURLOPT_CONNECTTIMEOUT_MS a CURLOPT_TIMEOUT_MS. Sú to presne tie isté voľby, ktoré používa curl CLI s --connect-timeout a --max-time.

Ako konfigurovať proxy s libcurl?

Nastavte CURLOPT_PROXY na URL proxy: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). Pre SOCKS5: nastavte CURLOPT_PROXYTYPE na CURLPROXY_SOCKS5. Pre autentifikáciu proxy: CURLOPT_PROXYUSERPWD. libcurl tiež rešpektuje premennú prostredia http_proxy.

Ako poslať POST požiadavku s JSON telom v jazyku C?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL do jazyka C pomocou curl2code. Vygenerovaný kód používa curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre libcurl.

Ako pridať autorizáciu pomocou Bearer tokenu v jazyku C?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre libcurl s autorizačnou hlavičkou: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.

Ako nastaviť hlavičku Content-Type v jazyku C?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre libcurl so správnou hlavičkou: curl_slist_append(headers, "Content-Type: application/json"). Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API pre libcurl.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov