cURL’dan JSON’a Dönüştürücü
Bir cURL komutu yapıştırın. İsteği yapılandırılmış JSON olarak alın.
curl komutu yapıştırın ve "Dönüştür" düğmesine basın — biz onu bir JSON nesnesine ayıracağızcURL yapıştırBu araç ne yapar
Terminal geçmişinizden, bir Stack Overflow cevabından ya da bir API dokümanından bir cURL komutu kopyaladınız ve bunu uygulamanızın veya başka bir aracın okuyabileceği bir şeye çevirmek mi istiyorsunuz? Bu dönüştürücü URL’i, metodu, header’ları, kimlik doğrulamayı, query parametrelerini ve body’yi cURL komutundan çıkarır ve isteğin tamamını tarif eden temiz bir JSON nesnesi üretir.
Parser %100 tarayıcınızda çalışır — cURL komutunuz, header’lardaki API anahtarları veya token’lar ve body verisi makinenizden hiç çıkmaz. Bu önemli, çünkü gerçek işten gelen cURL komutları çoğu zaman dizüstünüzden çıkmasını istemeyeceğiniz bearer token, çerez veya oturum kimliği içerir. Burada her şey JavaScript, tıpkı diğer tarayıcı tarafı araçlar gibi.
Satır devamlarını (\), tek ve çift tırnakları, yaygın bütün flag’leri (-X, --request, -H, --header, -d, --data, --data-raw, --data-urlencode, -u, --user) ve JSON body’leri destekler — body geçerli JSON ise onu parse edip string yerine iç içe geçmiş bir nesne olarak veririz.
Nasıl kullanılır
Üç adım. Chrome DevTools, Postman dışa aktarımı, Stack Overflow ya da nereden gelirse gelsin cURL komutlarıyla çalışır.
cURL komutunu yapıştırın
Komutunuzu soldaki editöre bırakın. Çok satırlı (\ devamlı) hâli de sorun değil. Chrome DevTools’un Copy as cURL’ünden doğrudan yapıştırabilirsiniz — tarayıcı header’ları için eklenen -H flag’leri sorunsuz parse edilir.
Aktif bir oturumdan bir istek alıyorsanız, komutun büyük olasılıkla canlı bir token taşıyan bir Authorization header içerdiğini unutmayın. Parser yerelde çalışır, yani token hiçbir zaman ağa çıkmaz — ama JSON çıktısını başka biriyle paylaşacaksanız yine de döndürmeyi unutmayın.
Dönüştür’e basın
Yeşil Dönüştür düğmesine tıklayın. Parser komutu okur ve isteği parçalarına ayırarak bir JSON nesnesi kurar: method, url, queryParams, headers, auth, body (payload JSON ise parse edilmiş hâli) ve bodyRaw (orijinal string).
JSON’u kullanın
Çıktıyı bir test fixture’ına, bir Postman içe aktarımına, bir OpenAPI örneğine, bir retry script’ine ya da isteği veri olarak yakalamanız gereken her yere kopyalayın. Yeniden derleme yok, komut satırı aracı yok.
Gerçekten zaman kazandırdığı yerler
DevTools cURL’ünü Postman isteklerine çevirmek
Chrome’un <strong>Copy as cURL</strong>’ü kocaman bir tek satır üretir. Buraya yapıştırın, yapılandırılmış JSON’u alın ve isteği Postman, Insomnia veya bir kod şablonunda flag’leri tek tek seçmek zorunda kalmadan yeniden kurun.
Bir shell script’ini koda taşımak
Eski bir shell script’inde sabit kodlanmış header ve body’li cURL çağrıları var. Her birini JSON’a çevirin ve sonra Python, Go veya TypeScript’te eşdeğer HTTP istemcisi çağrılarını yazım hatası yapmadan yeniden üretin.
Test fixture’ları oluşturmak
Tarayıcınızdaki gerçek istek şekillerini yakalayın, JSON’a dönüştürün, entegrasyon testlerinize veya mock sunucunuza fixture olarak bırakın. İstek şekli üretimle birebir eşleşir.
API dokümantasyonu yazmak
Bir tedarikçi size cURL örneği veriyor. JSON’a çevirin ve parçalanmış isteği iç dokümanlarınıza veya OpenAPI örneklerinize yerleştirin — ham curl string’inden çok daha okunabilir.
Sık sorulan sorular
cURL komutum bir yere gönderiliyor mu?
Hayır. Parser tamamen tarayıcınızda JavaScript olarak çalışır. Komutun hiçbir kısmı — URL, header’lar, kimlik doğrulama token’ları, body — bir sunucuya gönderilmez. DevTools’un Network sekmesini açıp Dönüştür’e basarak doğrulayabilirsiniz: sıfır istek.
Chrome’un "Copy as cURL" çıktısını işleyebiliyor mu?
Evet. Chrome her tarayıcı header’ı için bir -H flag’i ve ters eğik çizgili satır devamlarıyla uzun tek satırlar üretir. Bunların hepsi doğru parse edilir. Aynı durum Firefox’un "Copy as cURL"’ü ve Safari’nin eşdeğeri için de geçerlidir.
--data-urlencode ve form-encoded body’ler ne olacak?
Tanınıyor. --data-urlencode key=value çiftleri body içine bir nesne olarak toplanır. Tek bir -d flag’i ile gönderilen Content-Type: application/x-www-form-urlencoded body’lerinde body string’i de URL’den çözülerek bir nesneye dönüştürülür, böylece form alanlarını görebilirsiniz.
JSON body’leri düzgün ele alıyor mu?
Evet. Body verisi geçerli JSON olarak parse edilirse (RFC 8259 belirtimine göre), çıktının body anahtarı parse edilmiş nesneyi/diziyi tutar. Orijinal ham string ise ihtiyaç duyma ihtimaline karşı bodyRaw içinde saklanır.
Hangi flag’leri anlıyor?
Yaygın olanları: -X/--request (metot), -H/--header, -d/--data/--data-raw/--data-binary/--data-urlencode, -u/--user (basic auth), -b/--cookie. Tanımadığı flag’ler (--insecure veya -v gibi) bir options dizisine toplanır, böylece neyin atlandığını görürsünüz.
Çok uzun komutlar için kullanabilir miyim?
Evet — parser birkaç kilobayt boyutundaki komutları sorunsuz işler. Her şey yerelde olduğu için yükleme yok, ağ gecikmesi yok, hız sınırı yok.
İlgili araçlar
HTTP istekleri ve JSON ile uğraşıyorsanız bunlar iyi tamamlayıcılar: