Skip to content

cURL Komut Oluşturucu ve Yapılandırıcı

Tarayıcınızda curl komutları oluşturun — yöntem, başlık, kimlik doğrulama ve gövde ayarlayın, anında kopyalamaya hazır komut alın. Bearer, POST JSON, dosya yükleme için ön ayarlar. Ücretsiz, gizli, kayıt gerektirmez.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Komutunuz tamamen tarayıcınızda oluşturulur. Token'lar, URL'ler ve yükler hiçbir zaman cihazınızı terk etmez.
Ön Ayarlar
Sorgu parametreleri
Başlıklar
Kimlik Doğrulama
İstek gövdesi
Seçenekler
Oluşturulan komut
Yöntemler, kimlik doğrulama ve gövde türlerinde doğru curl komutu oluşturma, gövde türüne göre doğru başlık ekleme ve shell güvenli alıntılama ile kaçış için incelendi — Go Tools Mühendislik Ekibi · Jun 3, 2026

curl Komutu Nedir?

curl, HTTP ve düzinelerce diğer protokol üzerinden veri aktarmak için bir komut satırı aracıdır. Bir curl komutu; ikili dosya adı, bir dizi bayrak ve bir URL'den oluşur — örneğin `curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'`. curl neredeyse her Linux, macOS ve modern Windows makinesinde mevcut olduğundan, bir API'yi test etmenin, belgelerden bir isteği yeniden oluşturmanın veya bir CI betiğinin içinden bir servisi sağlık kontrolü yapmanın evrensel yoludur. Onu güçlü kılan kısalık, aynı zamanda hatırlamayı da zorlaştırır; bu nedenle görsel bir oluşturucu yardımcı olur.

Her curl komutunun aynı anatomisi vardır. Yöntem (`-X GET`, `-X POST`, …) HTTP fiilini ayarlar ve varsayılan olarak GET'tir. URL, sorgu parametrelerinin `?` sonrasına eklendiği uç noktalardır. Başlıklar (`-H 'Anahtar: Değer'`, tekrarlanabilir), `Accept` ve `Content-Type` gibi meta veri taşır. Kimlik doğrulama sadece özel bir başlıktır — token için `-H 'Authorization: Bearer …'`, Temel kimlik doğrulama için `-u kullanıcı:şifre` veya özel `-H 'X-API-Key: …'`. Gövde (ham veya form verisi için `-d`, çok parçalı ve dosya yüklemeleri için `-F`) yükü taşır. Son olarak, `-L` (yönlendirmeleri takip et), `-i` (yanıt başlıklarını dahil et) ve `-v` (ayrıntılı) gibi seçenek bayrakları davranışı şekillendirir. Bu araç, bu parçaların her birini form alanı olarak düzenler ve komutu canlı olarak yeniden oluşturur.

Alıntılamada boğuştuğunuzda, JSON POST'ta `Content-Type` başlığını unuttuğunuzda veya çok parçalı bir yüklemeyi elle birleştirmeye çalıştığınızda bir curl komut oluşturucuya başvurun. Oluşturucu, shell güvenli tek tırnak kaçışını doğru şekilde yapar, sorgu dizinizi kodlar ve her gövde türü için doğru başlıkları ekler — ardından güvenebileceğiniz bir komut kopyalarsınız. 40'tan fazla çalıştırılabilir örnekle kapsamlı bir bayrak bazında başvuru için curl kopya kağıdını okuyun; zorlu sorgu dizisi değerlerini kodlamak için URL kodlayıcımızı kullanabilirsiniz.

Her şey tarayıcınızda gerçekleşir. Token'larınız, kimlik bilgileriniz, URL'leriniz ve istek gövdeleriniz istemci taraflı JavaScript ile oluşturulur ve hiçbir yere gönderilmez — gerçek üretim uç noktalarına gerçek API anahtarlarıyla komut oluşturabilir ve hiçbir şey cihazınızı terk etmez.

# Plain GET — curl defaults to GET
curl https://api.example.com/users

# GET with a Bearer token (auth is just a header)
curl https://api.example.com/me \
  -H 'Authorization: Bearer YOUR_TOKEN'

# POST a JSON body — note the Content-Type header
curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada","role":"admin"}'

# Multipart file upload — '@' reads the file from disk
curl -X POST https://api.example.com/upload \
  -F 'file=@report.pdf' \
  -F 'title=Q3 report'

Temel Özellikler

Görsel İstek Oluşturucu

Bayrak sırasını ve alıntılamayı ezberlemek yerine isteğin tamamını form alanları olarak düzenleyin — yöntem, URL, sorgu parametreleri, başlıklar, kimlik doğrulama, gövde ve seçenekler. URL'nin `-d`'den önce mi sonra mı geldiğini artık tahmin etmek zorunda değilsiniz.

Kopyalama ve Dışa Aktarma ile Canlı Komut

curl komutu, sayfanın altında her tuş vuruşunda yeniden oluşturulur. Tek tıklamayla panoya kopyalayın veya doğrudan bir repoya ya da CI işine ekleyebileceğiniz çalıştırılabilir bir shell betiği indirmek için .sh Dışa Aktar'ı kullanın.

Tam Kimlik Doğrulama Desteği

Bearer token, Temel kimlik doğrulama (`-u kullanıcı:şifre`) ve özel API-anahtar başlıkları; her biri sunucuların beklediği tam biçimde yayılır. Şemayı seçin, kimlik bilgisini yapıştırın ve doğru `Authorization` veya özel başlık sizin için oluşturulur.

Her Gövde Türü

Ham JSON (eşleşen `Content-Type` başlığı otomatik olarak eklenir), `application/x-www-form-urlencoded` form alanları ve herhangi bir alanın `@` önekiyle dosyaya geçirilebildiği `multipart/form-data` yüklemeleri.

Tek Tıklamayla Altı Ön Ayar

Bearer ile GET, POST JSON, Form yüklemesi, Temel kimlik doğrulama, İndir `-o` ve Ayrıntılı hata ayıklama, tek dokunuşla tüm formu doldurur. En yaygın API görevleri için çalışan bir istekten başlayın ve oradan ince ayar yapın.

Çok Satırlı ve Tek Satırlı Çıkış

Hızlı yapıştırma için kompakt tek satırlı komut ile bir betik okumayı veya pull request'te incelemeyi kolaylaştıran ters eğik çizgiyle devam eden çok satırlı sürüm arasında geçiş yapın. Aynı komut, iki biçim.

Yüzde Yüz Tarayıcı Tabanlı Gizlilik

Token'lar, URL'ler, başlıklar ve istek gövdeleri tamamen istemci tarafında oluşturulur ve hiçbir zaman cihazınızı terk etmez — Ağ sekmesinde doğrulayın. Üretim uç noktaları ve canlı kimlik bilgileri için sıfır veri açığıyla güvenlidir.

DevTools İş Akışı için Tasarlanmış

API'leri test etme ve tarayıcı DevTools'un "cURL olarak kopyala" özelliğinden istekleri yeniden oluşturmanın günlük döngüsü etrafında tasarlanmıştır. Yapıştırılan bir curl komutunu fetch, requests, Go, PHP, Ruby ve Node.js'e dönüştüren bir Dönüştür sekmesi bir sonraki sürümde geliyor.

curl Alternatifleri ve HTTP İstemcileri

HTTPie

CLI, insan dostu sözdizimi

Renkli çıkış ve daha kısa sözdizimi (`http POST api.example.com/users name=Ada`) ile modern bir CLI. Varsayılan olarak JSON `Content-Type` ayarlar. Etkileşimli kullanım için daha dostanedir; curl, yaygınlık ve betik taşınabilirliğinde galip gelir.

wget

CLI, indirme odaklı

Özyinelemeli indirmeler ve site yansıtma için en iyisidir; yönlendirmeleri takip eder ve varsayılan olarak yeniden dener. Keyfi yöntemler, özel başlıklar ve API testi için curl'den zayıftır. Linux'ta genellikle curl ile birlikte önceden kurulu gelir.

Postman

GUI uygulaması

Koleksiyonlar, ortamlar ve ekip senkronizasyonuyla istek oluşturma, kaydetme ve paylaşma için eksiksiz bir GUI. Keşifsel API çalışması için mükemmeldir; curl içe/dışa aktarabilir. Hızlı kontroller veya CI için tek satırlı bir komuttan daha ağırdır.

Insomnia

GUI uygulaması

Temiz bir istek oluşturucu ve curl içe/dışa aktarma özelliğiyle Postman'a açık kaynaklı daha hafif bir alternatif. API isteklerini düzenlemek için iyidir; Postman gibi, tek bir komut dosyalı çağrı için ihtiyacınızdan fazlasıdır.

fetch() / requests

Kod içi HTTP istemcileri

JavaScript `fetch()` ve Python `requests`, uygulama kodundan çağrı yapmanın yoludur. İsteği önce curl olarak oluşturun ve doğrulayın, ardından çevirin — yaklaşan Dönüştür sekmesi eşdeğer fetch, requests ve diğer istemci kodunu oluşturacaktır.

curl Komut Örnekleri

Basit GET İsteği

curl https://api.example.com/users

Yöntem bayrağı olmadan curl varsayılan olarak GET kullanır. Bu, mümkün olan en basit istek: bir kaynağı al ve yanıt gövdesini terminalinize yazdır. Oluşturucuya sorgu parametreleri ekleyin; bunlar otomatik olarak URL'nin sonuna kodlanarak eklenir (`?page=2&limit=50`).

Bearer Token ile GET

curl https://api.example.com/me \
  -H 'Authorization: Bearer YOUR_TOKEN'

Bir REST API'ye karşı yapılan en yaygın kimlik doğrulamalı çağrı. Bearer kimlik doğrulama ön ayarı `Authorization: Bearer …` başlığını sizin için ekler. Göndermeden önce bir JWT'nin içini incelemek için token'ı JWT çözücümüze yapıştırın.

POST JSON Gövdesi

curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada","role":"admin"}'

Bir curl POST isteği oluşturucusunun temel özelliği: JSON gövde türü `-X POST` ekler, `Content-Type: application/json` başlığını iliştirir ve yükü `-d` ile iletir. Dağınık API yanıtlarını daha sonra JSON biçimlendiricide güzelleştirin.

POST Form (url kodlanmış)

curl -X POST https://api.example.com/login \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'username=ada&password=s3cret'

Klasik HTML form gönderimi. Her `-d field=value` çifti `&` ile birleştirilir ve `application/x-www-form-urlencoded` olarak gönderilir. curl ayrılmış karakterleri URL kodlar; alanları form gövdesi bölümünde oluşturun, araç dizeyi sizin için birleştirir.

Çok Parçalı Dosya Yükleme

curl -X POST https://api.example.com/upload \
  -F 'file=@report.pdf' \
  -F 'title=Q3 report'

curl dosya yükleme komutu `multipart/form-data` için `-F` kullanır. Diskten dosya eklemek için değerin önüne `@` koyun; dosya ve metin alanlarını serbestçe karıştırın. curl çok parçalı sınırı ve `Content-Type`'ı otomatik olarak ayarlar — bunu asla elle ayarlamayın.

Dosyaya İndirme

curl -L -o archive.zip \
  https://example.com/files/archive.zip

Yanıt gövdesini adlandırılmış bir dosyaya kaydetmek için `-o` kullanın; `-L` ise gerçek indirme URL'sine yönelik tüm yönlendirmeleri takip eder (CDN ve yayın varlığı bağlantılarında yaygın). Sunucunun dosya adını korumak için `-o` yerine `-O` kullanın.

Temel Kimlik Doğrulama

curl -u ada:s3cret \
  https://api.example.com/private

curl temel kimlik doğrulaması için `-u kullanıcı:şifre` kullanır; curl kimlik bilgilerini kablo üzerinden `Authorization: Basic …` başlığına Base64 kodlar. Temel kimlik doğrulamayı her zaman HTTPS üzerinden gönderin — Base64 şifreleme değil kodlamadır ve önemsiz biçimde tersine çevrilebilir.

Ayrıntılı Hata Ayıklama

curl -v -i https://api.example.com/health

Bir istek sorun çıkardığında, `-v` tam istek satırını, gönderilen ve alınan her başlığı ve TLS el sıkışmasını yazdırır; `-i` ise gövde çıktısına yanıt başlıklarını dahil eder. Bir API yanlış durum kodu döndürdüğünde başvurulacak ilk şey.

curl Komutu Nasıl Oluşturulur

  1. 1

    HTTP yöntemini seçin

    GET, POST, PUT, PATCH, DELETE, HEAD veya OPTIONS seçin. curl varsayılan olarak GET kullanır; POST veya başka bir fiil seçmek oluşturulan komuta `-X METHOD` ekler. Veya yöntemi ve eşleşen gövdeyi tek tıklamayla ayarlamak için bir ön ayar yongasına dokunun.

  2. 2

    URL ve sorgu parametrelerini girin

    İstek URL'sini girin (ör. `https://api.example.com/users`). Sorgu parametrelerini anahtar/değer çiftleri olarak ekleyin; araç bunları URL kodlar ve `?key=value&…` şeklinde otomatik olarak URL'ye ekler — manuel kodlama gerekmez.

  3. 3

    Başlıklar ve kimlik doğrulama ekleyin

    İstek başlıklarını anahtar/değer çiftleri olarak ekleyin, ardından bir kimlik doğrulama şeması seçin: Yok, Bearer token, Temel (kullanıcı adı/şifre) veya özel API-anahtar başlığı. Sunucunun beklediği tam biçimde doğru `Authorization` veya özel başlık oluşturulur.

  4. 4

    İstek gövdesini ayarlayın

    POST/PUT/PATCH için bir gövde türü seçin: ham JSON yapıştırın (`Content-Type` başlığı sizin için eklenir), url kodlanmış form alanları oluşturun veya çok parçalı bir yükleme oluşturup `@` önekiyle herhangi bir alanı dosyaya geçirin.

  5. 5

    Seçenekleri açın

    İhtiyacınız olan bayrakları açın — yönlendirmeleri izle (`-L`), güvensiz TLS (`-k`), ayrıntılı (`-v`), başlıkları dahil et (`-i`), sıkıştırılmış (`--compressed`), dosyaya çıkış (`-o`), bağlantı zaman aşımı veya proxy (`-x`). Her geçiş komutu canlı olarak günceller.

  6. 6

    Kopyalayın, dışa aktarın veya sıfırlayın

    Tamamlanan komutu kopyalayın, betik olarak indirmek için .sh Dışa Aktar'ı kullanın veya formu temizlemek için Sıfırla'yı tıklayın. Kopyalamadan önce tek satırlı ve ters eğik çizgiyle devam eden çıkış arasında geçiş yapmak için Çok satırlı geçişini kullanın.

Yaygın curl Hataları

Gövdesi Olan Bir Yöntemde -X Eksikliği

`-d` ile gövde göndermek POST anlamına gelir, ancak PUT veya PATCH istiyorsanız bunu `-X` ile açıkça belirtmelisiniz. Unutmak, gövdeyi POST olarak gönderir ve sunucu yanlış durum kodu döndürür ya da isteği reddeder.

✗ Yanlış
# PATCH amaçlandı, ancak -d tek başına POST anlamına gelir
curl -d '{"role":"admin"}' \
  https://api.example.com/users/7
✓ Doğru
# Fiili açıkça belirtin
curl -X PATCH -d '{"role":"admin"}' \
  -H 'Content-Type: application/json' \
  https://api.example.com/users/7

JSON POST'ta Content-Type Eksikliği

JSON'u `-d` ile göndermek `Content-Type` başlığını AYARLAMAZ — curl varsayılan olarak `application/x-www-form-urlencoded` kullanır. Çoğu API daha sonra gövdeyi ayrıştırmayı başaramaz ve 400 veya 415 döndürür. JSON içerik türünü her zaman ekleyin (veya sizin için ekleyen JSON gövde ön ayarını kullanın).

✗ Yanlış
# Sunucu JSON değil urlencoded görür — 400/415
curl -X POST https://api.example.com/users \
  -d '{"name":"Ada"}'
✓ Doğru
# JSON içerik türünü bildirin
curl -X POST https://api.example.com/users \
  -H 'Content-Type: application/json' \
  -d '{"name":"Ada"}'

Tek ve Çift Tırnak Kaçışı

Çift tırnakların içinde shell `$`, backtick ve `!` karakterlerini genişletir; JSON'u bozar veya yükünüzdeki bir `$variable`'ı kırar. Tek tırnaklar gövdeyi olduğu gibi geçirir. JSON gövdeleri için tek tırnak kullanın; yalnızca tek tırnakları desteklemeyen `cmd.exe`'de çift tırnaklara geçin.

✗ Yanlış
# $name shell tarafından boş dizeye genişletilir
curl -d "{\"user\":\"$name\"}" \
  https://api.example.com/users
✓ Doğru
# Tek tırnaklar gövdeyi olduğu gibi gönderir
curl -d '{"user":"$name"}' \
  https://api.example.com/users

GET İsteğinde -d Kullanmak

Bir isteğe `-d` eklemek onu sessizce POST'a dönüştürür. Sorgu parametreleriyle bir GET istediyseniz, bunları URL'ye koyun (veya `-d` verilerini sorgu dizesine katlamak için `-G` kullanın). GET'e eklenen `-d`, "GET'im çalışmıyor" şikayetlerinin en yaygın nedenlerinden biridir.

✗ Yanlış
# -d bunu GET değil POST yapar
curl -d 'page=2&limit=50' \
  https://api.example.com/users
✓ Doğru
# URL'deki sorgu dizesi onu GET olarak tutar
curl 'https://api.example.com/users?page=2&limit=50'

Windows Satır Devamı: ^ ile \

Ters eğik çizgi (`\`), bash, Git Bash ve WSL'de bir komutu bir sonraki satıra taşır. `cmd.exe`'de devam karakteri şapkadır (`^`) ve PowerShell backtick (`` ` ``) kullanır. Ters eğik çizgiyle devam eden bir komutu `cmd`'ye yapıştırmak bozar — Windows `cmd` için bu aracı tek satırlı çıkışa geçirin.

✗ Yanlış
:: cmd.exe — ters eğik çizgi devam karakteri değil
curl -X POST https://api.example.com/users \
  -d '{"name":"Ada"}'
✓ Doğru
:: cmd.exe — tek satır veya devam için ^ kullanın
curl -X POST https://api.example.com/users -d "{\"name\":\"Ada\"}"

URL'deki Boşluklar Kodlanmamış

URL veya sorgu değerindeki ham bir boşluk (veya `&`, `#`, `?`) komutu bozar — shell argümanı böler ve curl kesik bir URL görür. Değeri yüzde kodlayın (boşluk `%20` olur) veya curl'ün `--data-urlencode` ile kodlamasına izin verin. Bu araçtaki sorgu-parametre alanları otomatik olarak kodlar.

✗ Yanlış
# Boşluk argümanı böler — curl iki argüman görür
curl https://api.example.com/search?q=hello world
✓ Doğru
# Boşluğu kodlayın (veya tüm URL'yi tırnaklayın)
curl 'https://api.example.com/search?q=hello%20world'

Yaygın Kullanım Durumları

REST API Testi
Terminali terk etmeden bir REST uç noktasına karşı istek oluşturun ve gönderin: yöntemi ayarlayın, bir Bearer token yapıştırın, JSON gövdesi gönderin ve yanıtı okuyun. İstemci kodu yazmadan önce bir API'nin doğru davranıp davranmadığını doğrulamanın en hızlı yolu.
Belgelerden İsteği Yeniden Oluşturma
API belgeleri uç noktaları ve parametreleri gösterir ancak nadiren eksiksiz, kopyalamaya hazır bir komut sunar. Yöntemi, URL'yi, başlıkları ve kimlik doğrulamayı burada doldurun ve olduğu gibi çalışan bir curl komutu alın — alıntılama veya eksik `Content-Type` başlıklarıyla boğuşmadan.
CI/CD Duman Testi Betikleri
Sağlık kontrolü veya dağıtım sonrası duman testi için bir curl komutu oluşturun, ardından bir boru hattına eklemek için .sh Dışa Aktar'ı kullanın. Takılı bir uç noktanın yapıyı engelleyememesi için `--connect-timeout` ve `--max-time` ekleyin ve `-w` ile durum kodlarını kontrol edin.
Dosya Yükleme ve İndirme
Bir `-F field=@file` ile `multipart/form-data` yüklemesi oluşturun ya da CDN'ye yönlendirmeleri takip eden bir `-L -o filename` indirmesi oluşturun. Zorlu dosya adlarını veya sorgu değerlerini önce URL kodlayıcımızla kodlayın.
Webhook Hata Ayıklama
Sağlayıcının gönderdiği aynı JSON gövdesini, doğru imza ve `Content-Type` başlıklarıyla POST ederek bir webhook yükünü tekrarlayın. İşleyicinizin neden reddettiğini hata ayıklamak için tam isteği yerel olarak yeniden oluşturun.
Yeniden Üretilebilir Hata Raporları
Herkesin tam isteği yeniden üretebilmesi için bir hata raporuna veya PR'a tek, bağımsız bir curl komutu yapıştırın — yöntem, başlıklar, kimlik doğrulama yer tutucusu ve gövde. İsteği düzyazıyla açıklamaktan çok daha net.
curl Bayraklarını Öğrenme
Her form seçiminin gerçek bir bayrakla nasıl eşleştiğini görün — Temel kimlik doğrulamayı seçin ve `-u` göründüğünü izleyin, JSON gövdesi ekleyin ve `Content-Type` başlığının eklendiğini izleyin. curl kopya kağıdımızla eşleştirilmiş, sözdizimini öğrenmek için uygulamalı bir yol.
Koda Dönüştürmek İçin İstek Hazırlama
İsteği önce curl olarak oluşturun ve doğrulayın, ardından uygulamanızın HTTP istemcisine çevirin. Yaklaşan Dönüştür sekmesi, yapıştırılan bir curl komutunu fetch, requests, Go, PHP, Ruby ve Node.js'e dönüştürecek — çalıştığını bildiğiniz bir curl komutundan başlayın.

curl Bayrakları ve Sözdizimi Başvurusu

Shell Alıntılama ve Kaçış
Araç, değerleri tek tırnaklarla sarmalar; bu, POSIX shell'lerinde en güvenli formdur çünkü tek tırnaklı dize içindeki hiçbir şey genişletilmez. Değer içindeki literal tek tırnak, `'\''` dizisi olarak yayılır (kapat-tırnak, kaçan tırnak, yeniden aç-tırnak). `cmd.exe`'de çift tırnaklara geçin; Git Bash ve WSL, oluşturulan tek tırnaklı komutları değişmeden çalıştırır.
-d ile --data-raw ile --data-binary
`-d`/`--data` gövdeden satır sonu ve satır başı karakterlerini kaldırır — `key=value` çiftleri için uygundur, çok satırlı içerik için kayıplıdır. `--data-raw` aynıdır ancak baştaki `@`'yı dosya adı olarak ele almaz. `--data-binary` baytları tam olarak verildiği gibi gönderir (ham dosya içeriğini yüklemek için `@file` kullanın). Yöntem geçersiz kılınmadıkça üçü de POST anlamına gelir.
Çok Parçalı (-F) ile URL Kodlanmış (-d)
`-F field=value` oluşturulan sınırla `multipart/form-data` üretir — dosya yüklemeleri (`-F file=@yol`) ve karışık dosya/metin formları için gereklidir. `-d field=value`, `&` ile birleştirilmiş tek bir dize olan `application/x-www-form-urlencoded` üretir. Çok parçalı için `Content-Type`'ı asla manuel olarak ayarlamayın; curl sınırı hesaplar ve başlığı kendisi ayarlar.
Kimlik Doğrulama Başlığı Kodlaması
Bearer kimlik doğrulama, `Authorization: Bearer ` değerini olduğu gibi gönderir (RFC 6750). `-u kullanıcı:şifre` ile Temel kimlik doğrulama, kablo üzerinden `Authorization: Basic ` olarak Base64 kodlanır — şifreleme değil kodlama, bu nedenle HTTPS kullanın. API anahtarı, servisin gerektirdiği özel başlıktır, ör. `X-API-Key: `.
Sorgu Dizisi Kodlaması
Oluşturucuya eklenen sorgu parametreleri yüzde kodlanır ve `?key=value&key2=value2` olarak eklenir. Ayrılmış karakterler (boşluklar, `&`, `=`, `#`) kaçılır, böylece URL geçerli olur. Kodlanması gereken gövde alanları için curl'ün kendi `--data-urlencode` seçeneği, istek zamanında kodlamayı gerçekleştirir.
Yönlendirme Davranışı (-L)
`-L` olmadan curl bir 301/302 yanıtı yazdırır ve durur. `-L` ile son URL'ye `Location` başlığını takip eder. Bir yönlendirme farklı bir ana bilgisayara geçtiğinde curl'ün `Authorization` başlığını düşürdüğüne dikkat edin (güvenlik varsayılanı); `--location-trusted` seçeneğini yalnızca sonuçlarını anladığınızda kullanın.
Sıkıştırılmış Yanıtlar
`--compressed`, gzip/deflate/brotli desteğini bildiren bir `Accept-Encoding` başlığı ekler ve yanıtı şeffaf biçimde açar, bant genişliği tasarrufu sağlar. Kodu çözülmüş gövde, sıkıştırılmamış bir istekle aynıdır — tamamen bir aktarım optimizasyonudur, çoğu API çağrısında etkinleştirmek güvenlidir.
Çıkış: -o ile -O
`-o filename` yanıt gövdesini adlandırdığınız bir dosyaya yazar; `-O` onu URL yolundaki uzak dosya adı altında kaydeder. Her ikisi de normal stdout dökümünü bastırır. Dosya yazılmadan önce yönlendirmelerin gerçek varlığa çözümlenmesi için `-L` ile birleştirin.

curl İstekleri için En İyi Uygulamalar

Paylaşılan Komutlara Asla Gizli Bilgi Sabit Kodlamayın
Bir PR'a, bilete veya sohbete yapıştırdığınız bir curl komutu başkaları tarafından okunacak ve araçlar tarafından dizine eklenecektir. Token'ları ve şifreleri bir yer tutucu (`YOUR_TOKEN`) veya ortam değişkeni referansıyla değiştirin (`-H "Authorization: Bearer $API_TOKEN"`). Uzun kimlik bilgileri için curl, bir başlığı dosyadan `-H @headerfile` ile okuyabilir; böylece gizli bilgi asla shell geçmişinde görünmez.
İkili Yükler için --data-binary @file Kullanın
Gövde, baytları önemli olan bir dosyaysa — bir görüntü, imzalı bir yük, boşluğun önemli olduğu JSON — `-d @file` yerine `--data-binary @file` kullanın. Düz `-d`, satır sonlarını ve satır başlarını kaldırır; ikili ve çok satırlı içeriği sessizce bozar. `--data-binary`, dosyayı diskte olduğu gibi gönderir.
Başlık Değerlerini Tırnaklayın
`-H` değerlerini her zaman tırnaklarla sarın: `-H 'Content-Type: application/json'`. Tırnaksız olarak, iki noktadan sonraki boşluk argümanı böler ve curl bozuk bir başlık görür. Tek tırnaklar ayrıca shell'in değer içindeki `$`, `*` ve diğer özel karakterleri genişletmesini de durdurur — bu aracın varsayılan olarak yaydığı tam olarak budur.
Bant Genişliği Tasarrufu için --compressed Kullanın
gzip/brotli kodlaması istemek ve curl'ün şeffaf biçimde açmasını sağlamak için API çağrılarına ve indirmelere `--compressed` ekleyin. JSON ağırlıklı API'ler için bu, gördüğünüz yanıtta herhangi bir değişiklik olmaksızın aktarım boyutunu yüzde 70-90 oranında azaltabilir — uç noktaları tekrar tekrar yoklayan betiklerde ücretsiz bir kazanım.
Betiklerde Zaman Aşımlarını Sabitleyin
Herhangi bir otomatik bağlamda, yavaş veya takılı bir uç noktanın boru hattını sonsuza kadar engelleyememesi için `--connect-timeout` ve `--max-time` ekleyin. `--max-time 10` ile bir sağlık kontrolü hızla başarısız olur ve CI'nızın devam etmesine izin verir. Hemen vazgeçmeden geçici ağ aksaklıklarını absorbe etmek için `--retry N` ile eşleştirin.
Otomatikleştirmeden Önce -v ile Doğrulayın
Bir curl komutunu bir betiğe veya cron işine yerleştirmeden önce, tam istek satırını, başlıkları ve TLS el sıkışmasını görmek için bir kez `-v` ile çalıştırın. Yanlış bir yöntemi, eksik bir `Content-Type`'ı veya eklenmemiş bir kimlik doğrulama başlığını yakalamanın en hızlı yoludur — etkileşimli olarak hata ayıklayın, ardından üretim için `-v`'yi kaldırın.

Sıkça Sorulan Sorular

Bu araç ne işe yarar?
Basit bir formdan çalıştırmaya hazır bir curl komutu oluşturur. HTTP yöntemini seçer, URL yazarsınız, sorgu parametreleri ve başlıklar eklersiniz, bir kimlik doğrulama şeması seçersiniz (Yok, Bearer, Temel veya API anahtar başlığı), bir istek gövdesi ayarlarsınız (JSON, form, çok parçalı veya dosya yükleme) ve yönlendirme takibi veya ayrıntılı gibi seçenek bayraklarını açarsınız. Formu doldururken curl komutu sayfanın altında canlı olarak yeniden oluşturulur — kopyalayın, `.sh` betiği olarak dışa aktarın ya da tek satırlı ve çok satırlı çıkış arasında geçiş yapın. Bu araç; bir REST API'yi test etme, belgelerden bir isteği yeniden oluşturma veya bir hata raporuna yeniden üretilebilir bir komut ekleme gibi günlük iş akışları için oluşturulmuş bir curl komut oluşturucusudur. Bayrakların kendisi hakkında daha derin bir başvuru için curl kopya kağıdımıza bakın.
Verilerim (token'lar, URL'ler) herhangi bir yere yükleniyor mu?
Hayır. Komutun tamamı tarayıcınızda JavaScript ile oluşturulur. Token'larınız, kimlik bilgileriniz, URL'leriniz, başlıklarınız ve istek gövdeleriniz hiçbir sunucuya iletilmez, saklanmaz veya günlüğe kaydedilmez — bunu tarayıcınızın Ağ sekmesinde onaylayabilirsiniz; bir komut oluşturmak sıfır ağ isteği tetikler. Bu nedenle araç, gerçek üretim uç noktaları ve canlı API anahtarlarıyla kullanmak için güvenlidir: yazdığınız hiçbir şey cihazınızı terk etmez. Komut yalnızca kopyalayıp kendi terminalinizde çalıştırdığınızda bir şey yapar.
curl ile JSON içeren POST isteği nasıl gönderilir?
Yöntemi POST olarak ayarlayın ve JSON gövde türünü seçin; araç `curl -X POST -H 'Content-Type: application/json' -d '{…}'` üretir. İki kısım önemlidir: `-d` (veya `--data`) bayrağı gövdeyi taşır ve `Content-Type: application/json` başlığı sunucuya nasıl ayrıştırılacağını söyler — başlığı atlarsanız birçok çerçeve yükü yok sayar veya yanlış okur. Modern curl (7.82+), başlığı ve gövdeyi birlikte ayarlayan `--json` kısayolunu da sunar. Çağrının ardından yanıtı JSON biçimlendiricide güzelleştirmek ve doğrulamak için yapıştırın.
curl isteğine Bearer token nasıl eklenir?
`Bearer YOUR_TOKEN` değeriyle bir `Authorization` başlığı ekleyin ya da "Bearer ile GET" ön ayarını seçip token'ınızı yapıştırın. Oluşturulan komut `curl -H 'Authorization: Bearer YOUR_TOKEN'` şeklindedir. `Bearer` kelimesi, tek bir boşluk, ardından token — bu tam biçim OAuth 2.0 Bearer spec (RFC 6750) tarafından gereklidir. Göndermeden önce bir token'ın iddialarını ve son kullanma tarihini incelemek için JWT çözücümüzle çözün.
curl ile dosya nasıl yüklenir?
Çok Parçalı gövde türünü kullanın ve bir alanı Dosya olarak değiştirin: araç `curl -X POST -F 'file=@/path/to/file'` yayar. `@` öneki, curl'a dosyayı diskten okumasını ve `multipart/form-data` olarak göndermesini söyler; aynı istekte hem dosyalar hem de düz metin değerleri için daha fazla `-F` alanı ekleyebilirsiniz. Çok parçalı için `Content-Type` başlığını kendiniz ayarlamayın — curl sınırı oluşturur ve başlığı otomatik olarak ayarlar; geçersiz kılmak yüklemeyi bozar. Tek dosyalı bir PUT için curl `-T file ` kullanır.
Tarayıcı DevTools'dan kopyalanan bir komutu ("cURL olarak kopyala") içe aktarabilir miyim?
Henüz değil — bu bir sonraki sürümde yayınlanacak Dönüştür sekmesidir. Yapıştırılan bir curl komutunu (DevTools'un "cURL olarak kopyala" ile oluşturduğu dahil) ayrıştırıp JavaScript fetch, Python requests, Go, PHP, Ruby ve Node.js'e çevirecektir. Şimdilik araç bir oluşturucudur: URL, başlıklar, kimlik doğrulama ve gövde alanlarını elle doldurarak isteği yeniden oluşturun. DevTools çıktısı ayrıntılı ama okunabilir — her `-H` başlığını başlıklar bölümüne ve URL'yi URL alanına kopyalayın.
Windows'ta curl nasıl farklıdır?
curl ikili dosyası aynı şekilde davranır; shell alıntılaması farklıdır. `cmd.exe`'de değerlerin etrafında çift tırnak (`"`) ve satır devamı için şapka (`^`) kullanırsınız; tek tırnakların özel anlamı yoktur. PowerShell'de `curl`, açıkça `curl.exe` çağırmadıkça `Invoke-WebRequest` için bir takma addır ve alıntılama kuralları yeniden farklılık gösterir. En ağrısız seçenek Git Bash veya WSL'dir; burada bu aracın ürettiği Unix tarzı tek tırnaklı komutlar değişmeden çalışır. `cmd` kullanmanız gerekiyorsa, oluşturulan komutu tek satıra geçirin ve `'…'` alıntılamasını `"…"` ile değiştirin.
-d, --data-raw ve --data-binary arasındaki fark nedir?
`-d` (takma adı `--data`) bir gövde gönderir ve verilerden satır sonu ve satır başı karakterlerini kaldırır — `key=value` form çiftleri için uygundur, birden fazla satıra yayılan JSON için risklidir. `--data-raw` aynıdır ancak baştaki `@` karakterini dosya adı olarak ele almaz, bu nedenle verileriniz gerçekten `@` ile başlayabildiğinde güvenli seçenektir. `--data-binary` baytları satır sonu kaldırma olmadan tam olarak verildiği gibi gönderir — bir dosyanın ham içeriğini yüklemek (`--data-binary @file.json`) veya boşluğun önemli olduğu herhangi bir yük için doğru bayrak. Üçü de yöntemi geçersiz kılmadıkça POST anlamına gelir.
curl ile çerezler nasıl gönderilir?
Çerez göndermek için `-b`, kaydetmek için `-c` kullanın. `-b 'name=value'` literal bir çerez dizisi gönderirken, `-b cookies.txt` Netscape biçimli bir dosyadan çerezleri okur. Bir sunucunun ayarladığı çerezleri yakalamak için (örneğin bir girişten sonra), bunları bir kavanoza yazmak için `-c cookies.txt` ekleyin, ardından bir sonraki istekte bu kavanozu `-b cookies.txt` ile yeniden kullanın. Bu oluşturucu başlıklar, kimlik doğrulama ve gövdeye odaklanır; bir çerez başlığı için başlıklar bölümüne `Cookie: name=value` başlığı da ekleyebilirsiniz.
Yönlendirmeler nasıl takip edilir?
"Yönlendirmeleri izle (-L)" seçeneğini açın veya `-L` bayrağını elle ekleyin. Varsayılan olarak curl 301/302 yanıtı yazdırır ve durur; `-L` ise son hedefe `Location` başlığını takip etmesini söyler. Bu, CDN'lerin arkasındaki indirme bağlantıları, kısaltılmış URL'ler ve HTTP'yi HTTPS'e yönlendiren API'ler için vazgeçilmezdir. Yönlendirme çözüldükten sonra indirilen bir dosyayı kaydetmek için `-o filename` ile birleştirin.
İstek zaman aşımı nasıl ayarlanır?
curl'ın bağlantıyı kurmak için ne kadar bekleyeceğini sınırlayan `--connect-timeout ` eklemek için "Bağlantı zaman aşımı" seçeneğini kullanın. Bağlantı artı indirme dahil tüm aktarım için bir üst sınır için oluşturulan komuta elle `--max-time ` ekleyin. Zaman aşımlarını sabitlemek herhangi bir betik veya CI duman testinde en iyi uygulamadır: bunlar olmadan takılı bir uç nokta boru hattınızı süresiz olarak engelleyebilir. Geçici hataları yeniden denemek istiyorsanız `--retry N` ile eşleştirin.

Sayı Tabanı Dönüştürücü — Binary, Hex, Decimal ve Octal

Dönüştürme Araçları

Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.

Base64 Çözücü ve Kodlayıcı

Kodlama ve Biçimlendirme

Base64'ü ücretsiz çevrimiçi kodlayın ve çözün. Tam UTF-8 ve emoji desteğiyle gerçek zamanlı dönüştürme. %100 tarayıcıda — kayıt gerekmez.

Harf Dönüştürücü — UPPER, lower, camelCase ve Daha Fazlası

Metin İşleme

Metni UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE ve 6 biçim daha arasında anında dönüştürün. Ücretsiz, çevrimiçi, kayıt yok.

Renk Dönüştürücü — HEX, RGB, HSL & OKLCH

Dönüştürme Araçları

HEX'i RGB, HSL, OKLCH, OKLAB ve CMYK biçimlerine tarayıcınızda dönüştürün — herhangi bir biçimi tek tıkla kopyalayın. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.

Crontab Oluşturucu ve Cron İfadesi Üretici

Tarih ve Saat

Cron ifadelerini tarayıcıda oluşturun, doğrulayın ve çözümleyin. Yerel saatte veya UTC olarak canlı çalışma önizlemesi. POSIX 5 alanlı söz dizimi, hazır şablonlar ve sade açıklama. Ücretsiz ve gizli.

CSV'den JSON'a Dönüştürücü

Kodlama ve Biçimlendirme

CSV'yi tarayıcınızda JSON'a dönüştürün. RFC 4180, tür çıkarımı, başlık satırı, büyük tam sayı güvenli. %100 gizli, yükleme yok.