Muunna curl kielelle C
curl2code muuntaa curl-komennot C-koodiksi käyttäen libcurl-kirjastoa. Muunnos tapahtuu selaimessasi WebAssemblyn kautta täydellisen yksityisyyden takaamiseksi. Rustille, katso curl to Rust -muunnin. Go-kielelle, katso curl to Go. Alta löydät käytännön C-esimerkkejä asianmukaisella muistinhallinnalla.
Kuinka kopioida curl selaimestasi
- 1
Avaa kehittäjätyökalut
Paina F12 tai Ctrl+Shift+I avataksesi selaimen kehittäjätyökalut.
- 2
Siirry Network-välilehdelle
Napsauta Network-välilehteä ja suorita toiminto, joka käynnistää HTTP-pyynnön.
- 3
Kopioi cURL-muodossa
Napsauta pyyntöä hiiren kakkospainikkeella → Copy → Copy as cURL. Liitä se sitten yläpuolelle.
Usein kysytyt kysymykset
Mikä on libcurl?
libcurl on curl-komentorivityökalun taustalla oleva C-kirjasto. Se on maailman siirrettävin ja laajimmin käytetty HTTP-asiakaskirjasto, joka tukee yli 25 protokollaa. Sitä käyttävät tuhannet sovellukset ja sulautetut järjestelmät. Lisää se järjestelmäsi paketinhallinnalla tai linkitä staattisesti. curl2code generoi libcurl C-koodia käyttäen easy-rajapintaa.
libcurl easy vs multi -rajapinta — kumpaa käyttää?
Easy-rajapinta (curl_easy_*) on tarkoitettu yksittäisiin synkronisiin siirtoihin — se on yksinkertainen ja suoraviivainen. Multi-rajapinta (curl_multi_*) mahdollistaa ei-lukitsevat rinnakkaiset siirrot yhdessä säikeessä. Käytä easy-rajapintaa skripteihin ja yksinkertaisiin työkaluihin, multi-rajapintaa korkean suorituskyvyn sovelluksiin. Korkeamman tason C-perheen kieltä varten katso curl to Rust.
Miten autentikointi hoidetaan libcurlilla?
Bearer-tokenia varten: aseta mukautettu otsake curl_slist_append(headers, "Authorization: Bearer token"). Basic-autentikointia varten: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass"). libcurl koodaa Basic-autentikoinnin tiedot automaattisesti. curl2code muuntaa -u ja otsakeliput oikeiksi C API -kutsuiksi.
Miten lähetetään multipart-lomakedataa libcurlilla?
Käytä MIME API:a (libcurl 7.56+): curl_mime_init() luo mime-rakenteen, curl_mime_addpart() lisää osan, curl_mime_name() ja curl_mime_filedata() tiedostojen lähetykseen. Aseta valinnalla CURLOPT_MIMEPOST. Vapauta muisti komennolla curl_mime_free().
Miten virheet hoidetaan libcurlilla?
Jokainen curl_easy_* -funktio palauttaa CURLcode-arvon — vertaa sitä vakioon CURLE_OK. Käytä curl_easy_strerror(code) -funktiota ihmislukuisia viestejä varten. Aseta CURLOPT_ERRORBUFFER yksityiskohtaisia virhemerkkijonoja varten. Hae HTTP-status koodilla curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code).
Miten muistinhallinta hoidetaan libcurlilla?
Kutsu aina curl_easy_cleanup(), kun kahva on valmis. Vapauta otsakelistat curl_slist_free_all() -funktiolla. Vapauta MIME-rakenteet curl_mime_free() -funktiolla. Kirjoituksen takaisinkutsuissa (write callbacks) hallitse omaa puskurivaraustasi. Kutsu curl_global_cleanup() kerran ohjelman päättyessä. Resurssien vapauttamatta jättäminen aiheuttaa muistivuotoja.
Miten aikakatkaisut asetetaan libcurlilla?
Aseta CURLOPT_CONNECTTIMEOUT yhteyden aikakatkaisulle ja CURLOPT_TIMEOUT koko siirron ajalle (molemmat sekunteina). Millisekuntitarkkuutta varten käytä CURLOPT_CONNECTTIMEOUT_MS ja CURLOPT_TIMEOUT_MS. Nämä ovat samat asetukset, joita curl CLI käyttää valinnoilla --connect-timeout ja --max-time.
Miten välityspalvelin konfiguroidaan libcurlilla?
Aseta CURLOPT_PROXY välityspalvelimen URL-osoitteeseen: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080"). SOCKS5-yhteyksiä varten aseta CURLOPT_PROXYTYPE arvoon CURLPROXY_SOCKS5. Välityspalvelimen autentikointiin: CURLOPT_PROXYUSERPWD. libcurl noudattaa myös http_proxy-ympäristömuuttujaa.
Miten lähetetään POST-pyyntö JSON-rungolla C-kielellä?
Muunna curl POST -komento kuten curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL C-koodiksi curl2code-työkalulla. Luotu koodi käyttää curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string). curl2code tunnistaa automaattisesti -d/--data-liput JSON-sisällöllä ja asettaa oikean Content-Type-otsikon libcurl-koodiin.
Miten lisätään Bearer-token-valtuutus C-kielellä?
Syötä curl -H "Authorization: Bearer YOUR_TOKEN" URL curl2code-työkaluun, ja se luo libcurl-koodin valtuutusotsikolla: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN"). curl2code tunnistaa Bearer-tokenit sekä -H "Authorization: Bearer ..."- että --oauth2-bearer-lipuista. Käytä Basic auth -valtuutukseen -u user:pass.
Miten asetetaan Content-Type-otsikko C-kielellä?
curl2code muuntaa curl -H "Content-Type: application/json" URL libcurl-koodiksi oikealla otsikolla: curl_slist_append(headers, "Content-Type: application/json"). -d-datalle curl käyttää oletuksena application/x-www-form-urlencoded; -F-lomakelatauksille se käyttää multipart/form-data. curl2code yhdistää kunkin oikeaan libcurl API -kutsuun.
Hyödyllisiä linkkejä
curl-oppaat
curl-virhekoodit
Hae mikä tahansa curl-paluukoodi — syyt, korjaukset ja virheenkorjausvinkit.
Tiedostojen lataaminen curlilla
Tallenna tiedostoja -o, -O -lipuilla, seuraa uudelleenohjauksia, jatka latauksia ja paljon muuta.
SSL, TLS ja välityspalvelin
Määritä varmenteet, TLS-versiot, HTTP/SOCKS-välityspalvelimet ja mukautettu DNS.