cURL Dönüştürücü: cURL'den Fetch, Python, Axios ve Fazlasına
Bir curl komutu yapıştırın (örneğin tarayıcınızın DevTools'undan kopyaladığınız) ve 8 dilde çalışmaya hazır kod alın. Header'lar, JSON gövdeleri, formlar, dosya yüklemeleri, kimlik doğrulama ve çerezlerin tamamı dönüştürülür.
Tarayıcınızda çalışırKayıt gerekmezHiçbir şey yüklenmez
cURL Dönüştürücü nasıl kullanılır?
- Bir isteği cURL olarak kopyalayın: Chrome veya Firefox DevTools'ta Network sekmesindeki isteğe sağ tıklayın → Copy → Copy as cURL.
- Girdi kutusuna yapıştırın.
\ile bölünmüş çok satırlı komutlar, Windows^devam karakterleri ve$'…'dizeleri desteklenir. - Hedefi seçin: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP veya HTTPie.
- Çıktının altındaki uyarıları okuyun. Hedef dilde karşılığı olmayan seçenekler burada listelenir.
- Kodu kopyalayın veya dosya olarak indirin.
curl komutlarını neden koda dönüştürmeli?
curl, HTTP'nin ortak dilidir. API dokümantasyonları örnekleri curl ile gösterir, tarayıcı DevTools'u istekleri curl olarak dışa aktarır ve destek ekipleri hataları curl ile yeniden üretir. Bu isteği bir uygulamanın içinde kullanmak istediğinizde elle yeniden yazmanız gerekir: her -H'yi bir headers nesnesine taşımak, -d'yi gövdeye çevirmek, -u'yu basic auth'a dönüştürmek ve -G'nin veriyi sorgu dizesine taşıdığını hatırlamak. Bu dönüştürücü bu çeviriyi sizin yerinize yapar ve doğrudan projenize yapıştırabileceğiniz kod üretir.
Desteklenen curl seçenekleri
| Seçenek | Dönüştüğü karşılık |
|---|---|
-X, -I, -G | HTTP metodu (gövde varsa POST olduğu varsayılır) |
-H, -A, -e, -b | Header'lar, User-Agent, Referer ve çerezler |
-d, --data-raw, --data-binary, --data-urlencode, --json | İstek gövdesi: JSON nesneleri, form alanları veya ham metin |
-F | @file yüklemeleri dahil multipart form verisi |
-u, --oauth2-bearer | Basic auth veya Bearer token |
-k, -L, -m, -x, --compressed | TLS doğrulaması, yönlendirmeler, zaman aşımı, proxy ve sıkıştırma |
JSON gövdeleri gerçek nesnelere dönüşür
İstek JSON gönderdiğinde (Content-Type: application/json header'ı, --json ya da JSON olarak ayrıştırılabilen bir gövde), dönüştürücü kaçışlı bir dize yerine yerel veri yapıları üretir: fetch için JSON.stringify({...}), Axios için düz bir nesne, requests ve httpx için de Python dict'i (True, False, None) ile json=. Böylece payload'ı düzenlemek ve değişkenlerle doldurmak kolaylaşır.
Akılda tutulması gereken farklar
Tarayıcılar sertifika kontrollerini devre dışı bırakamaz veya tek bir isteği proxy üzerinden yönlendiremez; bu yüzden -k ve -x tarayıcı fetch kodunda yalnızca yorum olarak yer alır. curl, -L vermediğiniz sürece yönlendirmeleri takip etmez; fetch, requests ve Go ise varsayılan olarak takip eder. -d ile Content-Type olmadan gönderilen bir gövdeyi curl form-encoded olarak gönderir; gövde JSON gibi görünüyorsa dönüştürücü onu JSON olarak gönderir ve bunu bir uyarıyla bildirir.
Sıkça sorulan sorular
curl komutum bir sunucuya gönderiliyor mu?
Chrome'da bir isteği cURL olarak nasıl kopyalarım?
Dosya yüklemelerini destekliyor mu?
-F name=@file; JavaScript'te FormData, Python'da files= dict'i, Go'da mime/multipart ve PHP'de CURLFile olur. -d @file ve -T file istek gövdesini bir dosyadan okur.Dönüştürücünün tanımadığı seçeneklere ne olur?
-s, -v veya -o gibi yalnızca çıktıyı etkileyen bayraklar isteği değiştirmediği için yok sayılır.