cURL-muunnin: cURL → fetch, Python, Axios ja muut
Liitä curl-komento, esimerkiksi selaimen DevToolsista kopioitu, ja saat suoritusvalmista koodia 8 kielellä. Otsakkeet, JSON-rungot, lomakkeet, tiedostojen lähetykset, tunnistautuminen ja evästeet muunnetaan.
Toimii selaimessaEi rekisteröitymistäMitään ei lähetetä
Näin käytät työkalua: cURL-muunnin
- Kopioi pyyntö cURL-muodossa: napsauta Chromen tai Firefoxin DevToolsissa pyyntöä hiiren oikealla Network-välilehdellä → Copy → Copy as cURL.
- Liitä se syötekenttään. Monirivisiä komentoja
\-merkillä, Windowsin^-jatkorivejä ja$'…'-merkkijonoja tuetaan. - Valitse kohde: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP tai HTTPie.
- Lue tuloksen alla olevat varoitukset. Niissä luetellaan valitsimet, joille ei ole vastinetta kohdekielessä.
- Kopioi koodi tai lataa se tiedostona.
Miksi muuntaa curl-komentoja koodiksi?
curl on HTTP:n yhteinen kieli. API-dokumentaatio näyttää esimerkit curl-muodossa, selaimen DevTools vie pyynnöt curl-komentoina ja tukitiimit lähettävät toistettavat esimerkit curlina. Kun haluat pyynnön sovellukseen, se on kirjoitettava käsin uudelleen: siirrettävä jokainen -H otsakeobjektiin, muutettava -d rungoksi, -u basic-tunnistautumiseksi ja muistettava, että -G siirtää datan kyselymerkkijonoon. Tämä muunnin tekee käännöksen puolestasi ja tuottaa koodia, jonka voit liittää suoraan projektiin.
Tuetut curl-valitsimet
| Valitsin | Muunnetaan muotoon |
|---|---|
-X, -I, -G | HTTP-metodi (POST päätellään, kun runko on olemassa) |
-H, -A, -e, -b | Otsakkeet, User-Agent, Referer ja evästeet |
-d, --data-raw, --data-binary, --data-urlencode, --json | Pyynnön runko: JSON-objektit, lomakekentät tai raakateksti |
-F | Multipart-lomakedata, myös @file-tiedostolähetykset |
-u, --oauth2-bearer | Basic-tunnistautuminen tai Bearer-token |
-k, -L, -m, -x, --compressed | TLS-varmennus, uudelleenohjaukset, aikakatkaisu, välityspalvelin ja pakkaus |
JSON-rungoista tulee oikeita objekteja
Kun pyyntö lähettää JSONia (Content-Type: application/json -otsake, --json tai JSONina jäsentyvä runko), muunnin tuottaa natiiveja tietorakenteita escapetun merkkijonon sijaan: JSON.stringify({...}) fetchille, tavallinen objekti Axiosille ja json= Python-dictillä (True, False, None) requestsille ja httpx:lle. Näin dataa on helppo muokata ja täyttää muuttujilla.
Huomioitavia eroja
Selaimet eivät voi poistaa varmennetarkistuksia käytöstä tai ohjata yksittäistä pyyntöä välityspalvelimen kautta, joten -k ja -x näkyvät selaimen fetch-koodissa vain kommentteina. curl ei seuraa uudelleenohjauksia ilman -L-valitsinta, kun taas fetch, requests ja Go seuraavat niitä oletuksena. curl lomakekoodaa -d-valitsimella ilman Content-Typeä lähetetyn rungon; jos se näyttää JSONilta, muunnin lähettää sen JSONina ja kertoo siitä varoituksessa.
Usein kysytyt kysymykset
Lähetetäänkö curl-komentoni palvelimelle?
Miten kopioin pyynnön cURL-muodossa Chromesta?
Tukeeko se tiedostojen lähetystä?
-F name=@file muuttuu JavaScriptissä FormData-objektiksi, Pythonissa files=-dictiksi, Gossa mime/multipart-koodiksi ja PHP:ssä CURLFile-olioksi. -d @file ja -T file lukevat pyynnön rungon tiedostosta.Mitä tapahtuu valitsimille, joita muunnin ei tunne?
-s, -v tai -o, ohitetaan, koska ne eivät muuta pyyntöä.