Konverter curl til C

curl2code konverterer curl-kommandoer til C-kode ved hjælp af libcurl. Konverteringen kører i din browser via WebAssembly for fuldstændig privatliv. For Rust, tjek vores curl til Rust-konverter. For Go, se curl til Go. Nedenfor er praktiske C-eksempler med korrekt hukommelseshåndtering.

Sådan kopierer du curl fra din browser

  1. 1

    Åbn DevTools

    Tryk på F12 eller Ctrl+Shift+I for at åbne din browsers udviklerværktøjer.

  2. 2

    Gå til fanen Network

    Klik på fanen Network og udfør den handling, der udløser HTTP-anmodningen.

  3. 3

    Kopier som cURL

    Højreklik på anmodningen → CopyCopy as cURL. Indsæt den derefter ovenfor.

Ofte stillede spørgsmål

Hvad er libcurl?

libcurl er C-biblioteket bag curl-kommandolinjeværktøjet. Det er det mest portable og udbredte HTTP-klientbibliotek i verden og understøtter over 25 protokoller. Det bruges af tusindvis af applikationer og indlejrede systemer. Tilføj med dit systems pakkehåndtering eller link statisk. curl2code genererer libcurl C-kode ved hjælp af easy-interfacet.

libcurl easy vs multi interface — hvilken skal jeg bruge?

easy-interfacet (curl_easy_*) er til enkelte synkrone overførsler — simpelt og ligetil. multi-interfacet (curl_multi_*) muliggør ikke-blokerende samtidige overførsler i en enkelt tråd. Brug easy til scripts og simple værktøjer, og multi til højtydende applikationer. For et C-familie sprog på højere niveau, se curl til Rust.

Hvordan håndteres godkendelse med libcurl?

For Bearer: indstil en brugerdefineret header med curl_slist_append(headers, "Authorization: Bearer token"). Til Basic auth: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl koder automatisk Basic auth-legitimationsoplysninger. curl2code konverterer -u og header-flag til de korrekte C API-kald.

Hvordan sender man multipart form-data med libcurl?

Brug MIME API (libcurl 7.56+): curl_mime_init() for at oprette en mime-struktur, curl_mime_addpart() for hvert felt, curl_mime_name() og curl_mime_filedata() til fil-uploads. Indstil med CURLOPT_MIMEPOST. Frigør med curl_mime_free().

Hvordan håndteres fejl med libcurl?

Enhver curl_easy_* funktion returnerer en CURLcode — tjek mod CURLE_OK. Brug curl_easy_strerror(code) for menneskeligt læsbare meddelelser. Indstil CURLOPT_ERRORBUFFER for detaljerede fejlstreng. Hent HTTP-status med curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).

Hvordan håndteres hukommelse med libcurl?

Kald altid curl_easy_cleanup(), når du er færdig med et handle. Frigør header-lister med curl_slist_free_all(). Frigør MIME-strukturer med curl_mime_free(). For write-callbacks skal du selv håndtere buffer-allokering. Kald curl_global_cleanup() én gang ved programafslutning. Manglende frigørelse af ressourcer forårsager hukommelseslækager.

Hvordan indstilles timeouts med libcurl?

Indstil CURLOPT_CONNECTTIMEOUT for forbindelses-timeout og CURLOPT_TIMEOUT for den samlede overførselstid (begge i sekunder). For millisekund-præcision skal du bruge CURLOPT_CONNECTTIMEOUT_MS og CURLOPT_TIMEOUT_MS. Disse er de nøjagtige samme indstillinger, som curl CLI bruger med --connect-timeout og --max-time.

Hvordan konfigureres en proxy med libcurl?

Indstil CURLOPT_PROXY til proxy-URL'en: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). For SOCKS5: indstil CURLOPT_PROXYTYPE til CURLPROXY_SOCKS5. For proxy-auth: CURLOPT_PROXYUSERPWD. libcurl respekterer også http_proxy-miljøvariablen.

Hvordan sender man en POST-anmodning med JSON-body i C?

Konverter en curl POST-kommando som curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL til C ved hjælp af curl2code. Den genererede kode bruger curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code registrerer automatisk -d/--data-flag med JSON-indhold og indstiller den relevante Content-Type-header i libcurl-koden.

Hvordan tilføjer man Bearer token-autorisation i C?

Send curl -H "Authorization: Bearer YOUR_TOKEN" URL til curl2code, og den genererer libcurl-kode med auth-headeren: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code registrerer Bearer-tokens fra både -H "Authorization: Bearer ..." og --oauth2-bearer-flag. Til Basic auth skal du bruge -u user:pass.

Hvordan indstiller man Content-Type-headeren i C?

curl2code konverterer curl -H "Content-Type: application/json" URL til libcurl-kode med den korrekte header: curl_slist_append(headers, "Content-Type: application/json"). For -d-data bruger curl som standard application/x-www-form-urlencoded; for -F-formular-uploads bruges multipart/form-data. curl2code mapper hver af disse til den korrekte libcurl API.

Nyttige links

curl-guider

Konverter curl til andre sprog