Skip to main content

📥 cURL İle Dosya İndirme: Komut Satırından Veri Transferi Rehberi

💡 Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde cURL (Client URL) aracını kullanarak komut satırından dosya indirmeyi öğreneceksiniz.
Dosyaları farklı isimlerle kaydetmeyi, yönlendirmeleri takip etmeyi, kimlik doğrulama eklemeyi ve indirmeyi otomatikleştirmeyi adım adım keşfedeceksiniz.
Ayrıca, wget gibi alternatifleri ne zaman tercih etmeniz gerektiğini de öğreneceksiniz.


⚙️ Teknik Özet

Ana Teknik Konu: cURL Komut Satırı Aracı ile Dosya İndirme ve Veri Aktarımı
Çözdüğü Problem: Linux ve API ortamlarında dosya indirme ve veri transferini hızlı, güvenli ve otomasyon dostu hale getirir.
Adımlar:

  1. Dosyayı terminale getirme
  2. Dosyayı aynı veya farklı isimle kaydetme
  3. HTTP yönlendirmelerini izleme
  4. Kimlik doğrulama ile indirme
  5. İndirmeye devam etme ve yeniden deneme
  6. wget alternatifi değerlendirme

🧩 Adım 1: Uzak Dosyayı Alma ve Görüntüleme

Varsayılan olarak curl, verilen URL'deki dosyanın içeriğini terminal ekranına yazar.

curl https://www.rabisu.cloud/robots.txt

Bu komut, hedef dosyayı getirir ve içeriğini ekrana basar.

Örnek çıktı:


User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://www.rabisu.cloud/sitemap.xml

💾 Adım 2: Dosyayı Aynı İsimle Kaydetme

Dosyayı terminal yerine yerel diske kaydetmek için -O (büyük O) bayrağını kullanın.


curl -O https://www.rabisu.cloud/robots.txt

Bu komut dosyayı, sunucudaki adıyla aynı şekilde yerel olarak kaydeder.

İndirme tamamlandıktan sonra içeriği kontrol edin:


cat robots.txt

✏️ Adım 3: Dosyayı Farklı İsimle Kaydetme

Mevcut dosyaların üzerine yazılmasını önlemek veya özel bir isim vermek istiyorsanız -o (küçük o) bayrağını kullanın.


curl -o rb-botlar.txt https://www.rabisu.cloud/robots.txt

Bu komut dosyayı rb-botlar.txt ismiyle kaydeder.

İndirme sonrası kontrol etmek için:


cat rb-botlar.txt

🔄 Adım 4: Yönlendirmeleri Takip Etme

Bazı web sunucuları HTTP isteklerini HTTPS’e yönlendirir. Varsayılan olarak curl bu yönlendirmeleri izlemez.

Yalnızca başlık bilgilerini görmek için:


curl -I http://www.rabisu.cloud/robots.txt

Yönlendirmeleri otomatik izlemek için:


curl -L https://www.rabisu.cloud/robots.txt

-L (location) bayrağı, cURL’ün yönlendirmeleri otomatik takip etmesini sağlar.

Hem yönlendirmeyi izle hem de kaydet:


curl -L -o rb-botlar.txt http://www.rabisu.cloud/robots.txt

🔐 Adım 5: Kimlik Doğrulama ile Dosya İndirme

Bazı dosyalar veya API uç noktaları erişim için kimlik doğrulama gerektirir.

🧾 Temel Kimlik Doğrulama (Basic Auth)


curl -u kullanici:parola -O https://api.rabisu.cloud/guvenli-dosya.zip

🔑 Token Tabanlı Kimlik Doğrulama


curl -H "Authorization: Bearer $API_TOKEN" -O https://api.rabisu.cloud/korumali-veri.json

Parola ve token bilgilerini doğrudan komut içine yazmak yerine ortam değişkenlerinde saklayın.


⚙️ Adım 6: Gelişmiş İndirme Kontrolü

🔁 Yarıda Kalan İndirmeyi Devam Ettirme


curl -C - -O https://veriseti.rabisu.cloud/buyukdosya.iso

İndirme kesilirse bu komut kaldığı yerden devam eder.

🕒 Zaman Aşımı Belirleme


curl --max-time 30 -O https://example.com/file.txt

30 saniye içinde yanıt alınamazsa işlem sonlandırılır.

🔁 Otomatik Yeniden Deneme


curl --retry 3 -O https://api.rabisu.cloud/paket.tgz

Başarısız indirmeleri otomatik olarak üç kez dener.


⚡ Adım 7: wget Alternatifi

wget, özellikle web sitelerini veya çoklu dosyaları indirirken avantajlıdır.

Kullanım DurumuKomutAçıklama
Tek dosya indirmewget https://example.com/file.zipBasit indirme işlemi
Arka planda indirmewget -b URLTerminali kapatsan da indirmeye devam eder
Hız sınırı koymawget --limit-rate=300k URLBant genişliğini sınırlamak için
Site aynalamawget --mirror URLTüm siteyi indirir

Ne Zaman wget?

  1. Web sitelerini tamamen indirmek istiyorsan

  2. Otomatik tekrar deneme gerekiyorsa

Ne Zaman cURL?

  1. API’lerle çalışıyorsan

  2. Header veya kimlik doğrulama gerekiyorsa

  3. Otomasyon scriptlerinde kullanıyorsan


🧠 Sıkça Sorulan Sorular (SSS)

1. -O ve -o farkı nedir?

-O dosyayı orijinal ismiyle kaydeder, -o özel bir isimle kaydetmenizi sağlar.

2. cURL, Windows’ta çalışır mı?

Evet, Windows 10+ sürümlerinde varsayılan olarak bulunur. PowerShell veya Git Bash ile kullanılabilir.

3. Yönlendirmeleri neden takip etmiyor?

curl -L parametresi eklenmediğinde yönlendirmeleri izlemez.

4. SSL hatası alıyorum, ne yapmalıyım?

curl -k parametresi sertifika kontrolünü atlar, ancak güvenlik açısından önerilmez.

5. wget mi, cURL mü?

wget dosya indirme için, cURL ise API ve otomasyon için daha uygundur.


🎯 Sonuç

cURL, hem sistem yöneticileri hem de geliştiriciler için komut satırında en çok kullanılan veri aktarım aracıdır. İndirme, yönlendirme takibi, kimlik doğrulama ve otomasyon desteğiyle güçlü bir ağ aracı sunar.

🚀 Şimdi öğrendiklerinizi Rabisu Bulut ortamında deneyin ve veri transfer süreçlerinizi otomatikleştirin.