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

Dönüştür:
JavaScript fetch

    

    cURL Dönüştürücü nasıl kullanılır?

    1. Bir isteği cURL olarak kopyalayın: Chrome veya Firefox DevTools'ta Network sekmesindeki isteğe sağ tıklayın → Copy → Copy as cURL.
    2. Girdi kutusuna yapıştırın. \ ile bölünmüş çok satırlı komutlar, Windows ^ devam karakterleri ve $'…' dizeleri desteklenir.
    3. Hedefi seçin: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP veya HTTPie.
    4. Çıktının altındaki uyarıları okuyun. Hedef dilde karşılığı olmayan seçenekler burada listelenir.
    5. 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çenekDönüştüğü karşılık
    -X, -I, -GHTTP metodu (gövde varsa POST olduğu varsayılır)
    -H, -A, -e, -bHeader'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-bearerBasic auth veya Bearer token
    -k, -L, -m, -x, --compressedTLS 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?
    Hayır. Ayrıştırma ve kod üretimi tamamen tarayıcınızda çalışır. DevTools'tan kopyalanan komutlar çoğu zaman çerez ve token içerir; bu yüzden hiçbir şey yüklenmez veya saklanmaz.
    Chrome'da bir isteği cURL olarak nasıl kopyalarım?
    DevTools'u açın (F12), Network sekmesine gidin, isteğe sağ tıklayın ve Copy → Copy as cURL (bash) seçeneğini seçin. Windows için cmd varyantı da burada çalışır.
    Dosya yüklemelerini destekliyor mu?
    Evet. -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?
    Hiçbir şey sessizce atlanmasın diye çıktının altında uyarı olarak listelenirler. -s, -v veya -o gibi yalnızca çıktıyı etkileyen bayraklar isteği değiştirmediği için yok sayılır.
    Python'da requests mi yoksa httpx mi kullanmalıyım?
    requests, senkron script'ler için uzun süredir varsayılan tercihtir. httpx neredeyse aynı API'ye sahiptir, HTTP/2 ve async desteği ekler ve siz istemedikçe yönlendirmeleri takip etmez; bu da curl'ün davranışına daha yakındır.

    İlgili araçlar