Konwertuj curl na C

curl2code konwertuje polecenia curl na kod C przy użyciu libcurl. Konwersja odbywa się w przeglądarce poprzez WebAssembly, zapewniając pełną prywatność. W przypadku Rust, sprawdź nasz konwerter curl na Rust. W przypadku Go, zobacz curl na Go. Poniżej znajdują się praktyczne przykłady w C z poprawnym zarządzaniem pamięcią.

Jak skopiować polecenie curl z przeglądarki

  1. 1

    Otwórz DevTools

    Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.

  2. 2

    Przejdź do karty Sieć

    Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.

  3. 3

    Kopiuj jako cURL

    Kliknij żądanie prawym przyciskiem myszy → KopiujKopiuj jako cURL. Następnie wklej je powyżej.

Najczęściej zadawane pytania

Czym jest libcurl?

libcurl to biblioteka C stojąca za narzędziem wiersza poleceń curl. Jest to najbardziej przenośna i powszechnie wdrażana biblioteka klienta HTTP, obsługująca ponad 25 protokołów. Używana przez tysiące aplikacji i systemów wbudowanych. Dodaj ją za pomocą menedżera pakietów systemowych lub polinkuj statycznie. curl2code generuje kod C libcurl przy użyciu interfejsu easy.

Interfejs libcurl easy vs multi — którego użyć?

Interfejs easy (curl_easy_*) służy do pojedynczych transferów synchronicznych — jest prosty i bezpośredni. Interfejs multi (curl_multi_*) umożliwia nieblokujące transfery współbieżne w jednym wątku. Używaj easy dla skryptów i prostych narzędzi, a multi dla aplikacji o wysokiej wydajności. Dla języka wyższego poziomu z rodziny C zobacz curl na Rust.

Jak obsługiwać uwierzytelnianie w libcurl?

Dla Bearer: ustaw niestandardowy nagłówek za pomocą curl_slist_append(headers, "Authorization: Bearer token"). Dla uwierzytelniania Basic: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl automatycznie koduje poświadczenia Basic. curl2code konwertuje flagi -u i nagłówki na poprawne wywołania API C.

Jak wysyłać dane formularza multipart w libcurl?

Użyj MIME API (libcurl 7.56+): curl_mime_init() aby utworzyć strukturę mime, curl_mime_addpart() dla każdego pola, curl_mime_name() i curl_mime_filedata() dla przesyłania plików. Ustaw za pomocą CURLOPT_MIMEPOST. Zwolnij pamięć przez curl_mime_free().

Jak obsługiwać błędy w libcurl?

Każda funkcja curl_easy_* zwraca CURLcode — sprawdź go pod kątem CURLE_OK. Użyj curl_easy_strerror(code) dla komunikatów czytelnych dla człowieka. Ustaw CURLOPT_ERRORBUFFER dla szczegółowych opisów błędów. Pobierz status HTTP za pomocą curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).

Jak zarządzać pamięcią w libcurl?

Zawsze wywołuj curl_easy_cleanup() po zakończeniu pracy z uchwytem. Zwalniaj listy nagłówków przez curl_slist_free_all(). Zwalniaj struktury MIME przez curl_mime_free(). W przypadku callbacków zapisu, samodzielnie zarządzaj alokacją bufora. Wywołaj curl_global_cleanup() raz przy wyjściu z programu. Brak zwalniania zasobów powoduje wycieki pamięci.

Jak ustawić limity czasu w libcurl?

Ustaw CURLOPT_CONNECTTIMEOUT dla limitu czasu połączenia i CURLOPT_TIMEOUT dla całkowitego czasu transferu (oba w sekundach). Dla precyzji milisekundowej użyj CURLOPT_CONNECTTIMEOUT_MS i CURLOPT_TIMEOUT_MS. Są to te same opcje, których używa CLI curl z --connect-timeout i --max-time.

Jak skonfigurować proxy w libcurl?

Ustaw CURLOPT_PROXY na URL proxy: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). Dla SOCKS5: ustaw CURLOPT_PROXYTYPE na CURLPROXY_SOCKS5. Dla uwierzytelniania proxy: CURLOPT_PROXYUSERPWD. libcurl respektuje również zmienną środowiskową http_proxy.

Jak wysłać żądanie POST z ciałem JSON w języku C?

Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL na kod C za pomocą curl2code. Wygenerowany kod używa curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie libcurl.

Jak dodać autoryzację Bearer token w języku C?

Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod libcurl z nagłówkiem autoryzacji: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.

Jak ustawić nagłówek Content-Type w języku C?

curl2code konwertuje curl -H "Content-Type: application/json" URL na kod libcurl z właściwym nagłówkiem: curl_slist_append(headers, "Content-Type: application/json"). Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API libcurl.

Przydatne linki

Poradniki curl

Konwertuj curl na inne języki