📥 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:
- Dosyayı terminale getirme
- Dosyayı aynı veya farklı isimle kaydetme
- HTTP yönlendirmelerini izleme
- Kimlik doğrulama ile indirme
- İndirmeye devam etme ve yeniden deneme
- 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 Durumu | Komut | Açıklama |
|---|---|---|
| Tek dosya indirme | wget https://example.com/file.zip | Basit indirme işlemi |
| Arka planda indirme | wget -b URL | Terminali kapatsan da indirmeye devam eder |
| Hız sınırı koyma | wget --limit-rate=300k URL | Bant genişliğini sınırlamak için |
| Site aynalama | wget --mirror URL | Tüm siteyi indirir |
Ne Zaman wget?
-
Web sitelerini tamamen indirmek istiyorsan
-
Otomatik tekrar deneme gerekiyorsa
Ne Zaman cURL?
-
API’lerle çalışıyorsan
-
Header veya kimlik doğrulama gerekiyorsa
-
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.