curl'den koda dönüştürücü
Tamamen tarayıcınızda çalışır. Dosyalarınız ve verileriniz cihazınızdan hiç çıkmaz.
Bu araç hakkında
Bir curl komutu yapıştırın, bu araç onu JavaScript’in fetch’i, axios veya Python’un requests kütüphanesi için çalışan istek koduna çevirsin. URL’yi, metodu, başlıkları, gövdeyi, form alanlarını, çerezleri ve basic auth’u doğrudan komut satırından okur, böylece bir hedef seçip curl’ün gerçekte göndereceğine uyan kodu alırsınız.
Hangi curl bayraklarını anlıyor?
Ayrıştırıcı komutu tıpkı bir kabuğun (shell) yapacağı gibi belirteçlere ayırır; tek ve çift tırnakları, ters bölü kaçışlarını ve satır devamlarını doğru işler, böylece terminalden kopyalanan çok satırlı bir komut olduğu gibi çalışır. Metot için -X/--request, başlıklar için -H/--header, gövde için -d/--data/--data-raw/--data-binary/--data-urlencode, çok parçalı (multipart) form alanları için @ ile işaretli dosya alanları dahil -F/--form, basic auth için -u/--user, ayrıca -b/--cookie, -A/--user-agent, -e/--referer ve veriyi gövde yerine sorgu dizesine çeviren -G/--get’i okur. Ayrıca -k/--insecure’i de yakalar ve orijinal komutta TLS doğrulamasının kapatıldığını belirten bir yorum ekler, çünkü bu, üretilen kodu okurken kolayca gözden kaçabilir. Tanımadığı bayraklar sessizce yok sayılmak yerine uyarı olarak listelenir, böylece orijinal komuttaki bir şeyin çıktıya yansımadığını anlarsınız.
Gövde JSON’a benziyorsa (“json” içeren bir Content-Type başlığına bakılarak), üretilen kod onu ham bir dize yerine ayrıştırıp düzgün bir nesne değişmezi olarak yeniden serileştirir; JavaScript’te JSON.stringify(...), requests çıktısında ise bir Python sözlüğü elde edersiniz. Form-urlencoded gövdeler de aynı muameleyi görür ve opak bir dize yerine URLSearchParams ya da bir Python dict’ine dönüşür.
curl komutum bir yere yükleniyor mu?
Hayır. Ayrıştırma ve kod üretimi tamamen tarayıcınızda gerçekleşir. curl komutu cihazınızdan çıkmaz, bu da içinde bir API token’ı, bir oturum çerezi veya rastgele bir web formuna yapıştırmak istemediğiniz kurum içi bir sunucu adı taşıdığında önemlidir.
Yaygın kullanımlar: API dokümanlarından ya da tarayıcının ağ sekmesinden kopyalanan bir curl parçasını ön yüzünüz için bir fetch çağrısına çevirmek, bir destek talebindeki tekrar üretme adımlarını bir Python betiğine dönüştürmek, veya çalışan bir curl komutuna denk gelmesi için bir axios isteğinin gerçekte hangi başlıklara ve gövdeye ihtiyaç duyduğunu kontrol etmek. Bayrakların tamamı için curl man sayfasına, JavaScript tarafı için MDN’nin fetch rehberine bakabilirsiniz.