Bu araç ne yapar
curl’den Koda Dönüştürücü, bir curl komutunu yedi hedef için çalışmaya hazır koda çevirir: JavaScript fetch, Node.js axios, Python requests, Go net/http, PHP cURL, Java HttpClient ve C# HttpClient. API belgeleri, Postman ve tarayıcı DevTools’u istekleri çoğu zaman curl komutu olarak verir; bu araç sayesinde yöntemi, URL’yi, başlıkları, gövdeyi ve kimlik doğrulamayı elle yeniden yazmanız gerekmez.
Ayrıştırıcı özellikle curl komut satırı için yazılmıştır. Tırnakları bash gibi okur, -sSL gibi birleştirilmiş kısa seçenekleri ve -XPOST gibi bitişik değerleri anlar, başlıklarınızın sırasını korur.
Nasıl kullanılır
- Girdi alanına bir curl komutu yapıştırın veya denemek için Örnek düğmesine basın.
- İstediğiniz Dili seçin.
- Sonucu kopyalayın veya kaynak dosyası olarak indirin.
-d ile gönderilen gövde form kodlu bir gövdeye, --json (veya JSON Content-Type) dilin izin verdiği yerde biçimlendirilen bir JSON gövdesine, -F alanları ise dosya yüklemeli bir multipart forma dönüşür. -u user:password dilin kendi temel kimlik doğrulama seçeneğine çevrilir; -k, -L, -m ve -x sırasıyla TLS doğrulaması, yönlendirmeler, zaman aşımları ve proxy’lere karşılık gelir.
Örnek
Bu komut bir bearer token ile JSON gönderir:
curl https://api.example.com/v1/users \
-H 'Authorization: Bearer TOKEN' \
--json '{"name":"Ada"}'
Python’da headers sözlüğü ve json=json_data içeren bir requests.post() çağrısına, Go’da başlıkları tek tek ayarlayan ve gövdeyi bir string okuyucuyla geçiren bir http.NewRequest çağrısına dönüşür.
İpuçları
- Dönüştürücü bir hata bildirirse mesaj sorunu açıklar ve imleç bilinmeyen bir seçenek ya da kapanmamış bir tırnak gibi sorunlu parçaya atlar.
- Komuttan sonraki boru ve yönlendirmeler (
| jq .,> out.json) yok sayılır. - Üretilen kod
@fileile belirttiğiniz dosyaları çalışma anında okur; bu yolların programın çalıştığı yere göre geçerli olduğundan emin olun. - Bağlantı paylaşmadan önce gizli bilgileri kontrol edin: paylaş düğmesi komutu bağlantının # kısmına ekler.
SSS
› curl komutum bir sunucuya gönderiliyor mu?
Hayır. Komut tamamen tarayıcınızda ayrıştırılır ve dönüştürülür; içindeki token, çerez ve parolalar cihazınızdan hiç çıkmaz.
› Hangi curl seçenekleri destekleniyor?
İsteği belirleyen seçenekler: -X, -H, -d, --data-raw, --data-binary, --data-urlencode, --json, -F, -u, -b, -A, -e, -G, -I, -L, -k, -m, -x, --compressed ve --url. Yalnızca curl'ün kendi çıktısını etkileyen -s, -v, -o veya -w gibi seçenekler kabul edilir ve yok sayılır.
› Tarayıcının DevTools'undan kopyaladığım komutu yapıştırabilir miyim?
Evet. Ağ panelinde cURL olarak kopyala (bash) seçeneğini kullanın. \, ^ (Windows cmd) ve ` (PowerShell) ile satır devamları ile tek, çift ve $'…' tırnaklar anlaşılır.
› Kodun yeniden üretemediği seçeneklere ne olur?
Üretilen kod bir Note yorumuyla başlar; örneğin -k fetch ile ifade edilemediğinde veya curl'ün okuyacağı bir dosyayı kod açmadığında. Bilinmeyen seçenekler, tam olarak o seçeneği gösteren bir hatayla bildirilir.