Konversi curl ke C
curl2code mengonversi perintah curl ke kode C menggunakan libcurl. Konversi berjalan di peramban Anda melalui WebAssembly untuk privasi lengkap. Untuk Rust, lihat konverter curl ke Rust kami. Untuk Go, lihat curl ke Go. Di bawah ini adalah contoh C praktis dengan manajemen memori yang tepat.
Cara menyalin curl dari peramban Anda
- 1
Buka DevTools
Tekan F12 atau Ctrl+Shift+I untuk membuka alat pengembang peramban Anda.
- 2
Buka tab Network
Klik tab Network dan lakukan tindakan yang memicu permintaan HTTP.
- 3
Salin sebagai cURL
Klik kanan pada permintaan → Copy → Copy as cURL. Kemudian tempelkan di atas.
Pertanyaan yang Sering Diajukan
Apa itu libcurl?
libcurl adalah library C di balik alat baris perintah curl. Ini adalah library HTTP client yang paling portabel dan banyak diterapkan, mendukung lebih dari 25 protokol. Digunakan oleh ribuan aplikasi dan sistem tertanam. Tambahkan dengan manajer paket sistem Anda atau tautkan secara statis. curl2code menghasilkan kode C libcurl menggunakan antarmuka easy.
libcurl easy vs multi interface — mana yang harus digunakan?
Antarmuka easy (curl_easy_*) adalah untuk transfer sinkron tunggal — sederhana dan langsung. Antarmuka multi (curl_multi_*) memungkinkan transfer konkuren non-blocking dalam satu thread. Gunakan easy untuk skrip dan alat sederhana, multi untuk aplikasi berperforma tinggi. Untuk bahasa keluarga C tingkat lebih tinggi, lihat curl ke Rust.
Bagaimana cara menangani autentikasi dengan libcurl?
Untuk Bearer: atur header kustom dengan curl_slist_append(headers, "Authorization: Bearer token"). Untuk autentikasi Basic: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl secara otomatis mengenkripsi kredensial autentikasi Basic. curl2code mengonversi flag -u dan header ke panggilan API C yang benar.
Bagaimana cara mengirim data formulir multipart dengan libcurl?
Gunakan API MIME (libcurl 7.56+): curl_mime_init() untuk membuat struktur mime, curl_mime_addpart() untuk setiap field, curl_mime_name() dan curl_mime_filedata() untuk unggahan file. Atur dengan CURLOPT_MIMEPOST. Bebaskan dengan curl_mime_free().
Bagaimana cara menangani kesalahan dengan libcurl?
Setiap fungsi curl_easy_* mengembalikan CURLcode — periksa terhadap CURLE_OK. Gunakan curl_easy_strerror(code) untuk pesan yang dapat dibaca manusia. Atur CURLOPT_ERRORBUFFER untuk string kesalahan yang mendetail. Dapatkan status HTTP dengan curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).
Bagaimana cara mengelola memori dengan libcurl?
Selalu panggil curl_easy_cleanup() setelah selesai dengan handle. Bebaskan daftar header dengan curl_slist_free_all(). Bebaskan struktur MIME dengan curl_mime_free(). Untuk callback penulisan, kelola alokasi buffer Anda sendiri. Panggil curl_global_cleanup() sekali saat program keluar. Kegagalan membebaskan sumber daya menyebabkan kebocoran memori.
Bagaimana cara mengatur timeout dengan libcurl?
Atur CURLOPT_CONNECTTIMEOUT untuk timeout koneksi dan CURLOPT_TIMEOUT untuk total waktu transfer (keduanya dalam detik). Untuk presisi milidetik, gunakan CURLOPT_CONNECTTIMEOUT_MS dan CURLOPT_TIMEOUT_MS. Ini adalah opsi yang sama persis dengan yang digunakan CLI curl dengan --connect-timeout dan --max-time.
Bagaimana cara mengonfigurasi proxy dengan libcurl?
Atur CURLOPT_PROXY ke URL proxy: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). Untuk SOCKS5: atur CURLOPT_PROXYTYPE ke CURLPROXY_SOCKS5. Untuk autentikasi proxy: CURLOPT_PROXYUSERPWD. libcurl juga mematuhi variabel lingkungan http_proxy.
Bagaimana cara mengirim POST request dengan JSON body di C?
Konversi perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL ke C menggunakan curl2code. Kode yang dihasilkan menggunakan curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code secara otomatis mendeteksi flag -d/--data dengan konten JSON dan mengatur header Content-Type yang sesuai dalam kode libcurl.
Bagaimana cara menambahkan otorisasi Bearer token di C?
Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan alat ini akan menghasilkan kode libcurl dengan header auth: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code mendeteksi Bearer token dari flag -H "Authorization: Bearer ..." maupun --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.
Bagaimana cara mengatur header Content-Type di C?
curl2code mengonversi curl -H "Content-Type: application/json" URL ke kode libcurl dengan header yang tepat: curl_slist_append(headers, "Content-Type: application/json"). Untuk data -d, curl secara default menggunakan application/x-www-form-urlencoded; untuk unggahan formulir -F, curl menggunakan multipart/form-data. curl2code memetakan masing-masing ke API libcurl yang benar.