Konvertujte curl u C
curl2code konvertuje curl komande u C kod koristeći libcurl. Konverzija se izvršava u vašem veb pregledaču putem WebAssembly-a radi potpune privatnosti. Za Rust, pogledajte naš curl u Rust konvertor. Za Go, pogledajte curl u Go. Ispod su praktični C primeri sa pravilnim upravljanjem memorijom.
Kako kopirati curl iz vašeg pregledača
- 1
Otvorite DevTools
Pritisnite F12 ili Ctrl+Shift+I da biste otvorili razvojne alate pregledača.
- 2
Idite na karticu Network
Kliknite na karticu Network i izvršite radnju koja pokreće HTTP zahtev.
- 3
Kopirajte kao cURL
Desni klik na zahtev → Copy → Copy as cURL. Zatim ga nalepite iznad.
Često postavljana pitanja
Šta je libcurl?
libcurl je C biblioteka koja stoji iza curl komandne linije. To je najportabilnija i najrasprostranjenija HTTP klijent biblioteka koja postoji, podržavajući više od 25 protokola. Koriste je hiljade aplikacija i ugrađenih sistema. Dodajte je pomoću menadžera paketa vašeg sistema ili je povežite statički. curl2code generiše libcurl C kod koristeći easy interface.
libcurl easy naspram multi interface — koji koristiti?
easy interface (curl_easy_*) je za pojedinačne sinhrone transfere — jednostavan i direktan. multi interface (curl_multi_*) omogućava neblokirajuće konkurentne transfere u jednoj niti. Koristite easy za skripte i jednostavne alate, multi za aplikacije visokih performansi. Za jezik C-familije višeg nivoa, pogledajte curl u Rust.
Kako upravljati autentifikacijom sa libcurl-om?
Za Bearer: postavite prilagođeno zaglavlje sa curl_slist_append(headers, "Authorization: Bearer token"). Za Basic auth: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl automatski enkodira Basic auth akreditive. curl2code konvertuje -u i header zastavice u ispravne C API pozive.
Kako poslati multipart form data sa libcurl-om?
Koristite MIME API (libcurl 7.56+): curl_mime_init() za kreiranje mime strukture, curl_mime_addpart() za svako polje, curl_mime_name() i curl_mime_filedata() za otpremanje fajlova. Postavite sa CURLOPT_MIMEPOST. Oslobodite sa curl_mime_free().
Kako upravljati greškama sa libcurl-om?
Svaka curl_easy_* funkcija vraća CURLcode — proverite u odnosu na CURLE_OK. Koristite curl_easy_strerror(code) za poruke čitljive ljudima. Postavite CURLOPT_ERRORBUFFER za detaljne stringove grešaka. Dobijte HTTP status sa curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).
Kako upravljati memorijom sa libcurl-om?
Uvek pozovite curl_easy_cleanup() kada završite sa handle-om. Oslobodite liste zaglavlja sa curl_slist_free_all(). Oslobodite MIME strukture sa curl_mime_free(). Za write callback-ove, sami upravljajte alokacijom bafera. Pozovite curl_global_cleanup() jednom pri izlasku iz programa. Neuspeh u oslobađanju resursa uzrokuje curenje memorije.
Kako podesiti timeout-e sa libcurl-om?
Postavite CURLOPT_CONNECTTIMEOUT za timeout veze i CURLOPT_TIMEOUT za ukupno vreme transfera (oba u sekundama). Za milisekundnu preciznost, koristite CURLOPT_CONNECTTIMEOUT_MS i CURLOPT_TIMEOUT_MS. Ovo su potpuno iste opcije koje curl CLI koristi sa --connect-timeout i --max-time.
Kako konfigurisati proksi sa libcurl-om?
Postavite CURLOPT_PROXY na URL proksija: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). Za SOCKS5: postavite CURLOPT_PROXYTYPE na CURLPROXY_SOCKS5. Za autentifikaciju proksija: CURLOPT_PROXYUSERPWD. libcurl takođe poštuje http_proxy varijablu okruženja.
Kako poslati POST zahtev sa JSON telom u C jeziku?
Konvertujte curl POST komandu kao što je curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL u C koristeći curl2code. Generisani kod koristi curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code automatski detektuje -d/--data flegove sa JSON sadržajem i postavlja odgovarajući Content-Type zaglavlje u libcurl kodu.
Kako dodati Bearer token autorizaciju u C jeziku?
Prosledite curl -H "Authorization: Bearer YOUR_TOKEN" URL u curl2code i on generiše libcurl kod sa zaglavljem za autorizaciju: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code detektuje Bearer tokene iz -H "Authorization: Bearer ..." i --oauth2-bearer flegova. Za Basic auth, koristite -u user:pass.
Kako postaviti Content-Type zaglavlje u C jeziku?
curl2code konvertuje curl -H "Content-Type: application/json" URL u libcurl kod sa ispravnim zaglavljem: curl_slist_append(headers, "Content-Type: application/json"). Za -d podatke, curl podrazumevano koristi application/x-www-form-urlencoded; za -F otpremanje formi, koristi multipart/form-data. curl2code mapira svaki u odgovarajući libcurl API.
Korisni linkovi
Водичи за curl
curl кодови грешака
Пронађите било који излазни код curl — узроке, решења и савете за отклањање грешака.
Преузимање фајлова помоћу curl
Чувајте фајлове са -o, -O, пратите преусмеравања, наставите преузимања и још много тога.
SSL, TLS и прокси
Подесите сертификате, верзије TLS, HTTP/SOCKS проксије и прилагођени DNS.