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.
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özdizimiRenkli çı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 istemcileriJavaScript `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
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
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
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
İ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
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
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.
# PATCH amaçlandı, ancak -d tek başına POST anlamına gelir
curl -d '{"role":"admin"}' \
https://api.example.com/users/7 # 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).
# Sunucu JSON değil urlencoded görür — 400/415
curl -X POST https://api.example.com/users \
-d '{"name":"Ada"}' # 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.
# $name shell tarafından boş dizeye genişletilir
curl -d "{\"user\":\"$name\"}" \
https://api.example.com/users # 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.
# -d bunu GET değil POST yapar curl -d 'page=2&limit=50' \ https://api.example.com/users
# 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.
:: cmd.exe — ters eğik çizgi devam karakteri değil
curl -X POST https://api.example.com/users \
-d '{"name":"Ada"}' :: 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.
# Boşluk argümanı böler — curl iki argüman görür curl https://api.example.com/search?q=hello world
# 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?
Verilerim (token'lar, URL'ler) herhangi bir yere yükleniyor mu?
curl ile JSON içeren POST isteği nasıl gönderilir?
curl isteğine Bearer token nasıl eklenir?
curl ile dosya nasıl yüklenir?
Tarayıcı DevTools'dan kopyalanan bir komutu ("cURL olarak kopyala") içe aktarabilir miyim?
Windows'ta curl nasıl farklıdır?
-d, --data-raw ve --data-binary arasındaki fark nedir?
curl ile çerezler nasıl gönderilir?
Yönlendirmeler nasıl takip edilir?
İstek zaman aşımı nasıl ayarlanır?
İlgili Araçlar
Tüm araçları görüntüleyin →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.