Sitemize hoşgeldiniz!  ::  Son eklenen yazı: Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye  ::  Toplam 63 yazı  ::  Görüş ve önerileriniz için iletişim sayfasını kullanabilirsiniz.
» Menü
Anasayfa
Hakkımda
İletişim
» Kategoriler
› nostalji (8)
› laravel (7)
› php (5)
› web (3)
› agile (3)
› go (2)
› golang (2)
› api (2)
› redis (2)
› git (2)
› github (2)
› model (1)
» Arşiv
› Ekim 2025 (2)
› Temmuz 2025 (1)
› Nisan 2025 (3)
› Mart 2025 (5)
› Şubat 2025 (1)
› Ocak 2025 (43)
› Haziran 2011 (1)
› Kasım 2009 (1)
› Temmuz 2009 (1)
› Temmuz 2007 (1)
› Ocak 2007 (1)
› Kasım 2006 (1)
› Ekim 2006 (1)
› Ağustos 2006 (1)
Anasayfa » Yazılar » cURL ve API Kullanımı: Detaylı Rehber
cURL ve API Kullanımı: Detaylı Rehber
Yazan: Atilla Mutlu | Tarih: 15.01.2025 11:00 | Kategori: cURL

cURL, (Client URL) URL tabanlı kaynaklara erişim sağlamak, veri göndermek ve almak için kullanılan bir araç ve kütüphanedir. Özellikle RESTful API’lerle etkileşimde yaygın olarak tercih edilir. Komut satırında çalışan bu aracın, PHP gibi programlama dillerinde de kütüphane olarak kullanılabildiği bilinmektedir.


cURL ile API Kullanımı Ne İşe Yarar?

  • Veri Alışverişi: API’lerden veri çekmek (GET) veya göndermek (POST, PUT, DELETE).
  • HTTP İşlemleri: API’lerin desteklediği HTTP metodlarını kullanarak çeşitli işlemler yapmak.
  • Otomasyon: Çeşitli web servislerini entegre etmek ve otomatize işlemler gerçekleştirmek.
  • API Testi ve Debugging: API ile iletişim kurmak ve yanıtları test etmek.

cURL Çeşitleri ve Kullanım Alanları

1. Temel cURL Kullanımı

Komut satırında çalıştırılabilen basit HTTP istekleridir.

GET İşlemi:

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

Bu komut, belirttiğin URL’e bir GET isteği gönderir ve sonucu ekrana yazdırır.

POST İşlemi:

curl -X POST -d "key=value" https://api.example.com/resource

Bir POST isteği göndererek, belirttiğin veriyi API'ye iletir.

2. Veri Formatlarıyla Çalışma

API'ler genellikle JSON veya XML formatında veri alıp gönderir.

JSON Gönderimi:

curl -X POST -H "Content-Type: application/json" -d '{"name":"Atilla"}' https://api.example.com/users

Yanıt Formatı: cURL, dönen yanıtı genellikle ham veri olarak gösterir. JSON yanıtlarını daha okunabilir hale getirmek için ek araçlar kullanılabilir.

3. cURL’ün Özelleştirilebilir Seçenekleri

  • -X ile HTTP metodunu belirtme (GET, POST, PUT, DELETE).
  • -H ile HTTP başlıkları ekleme.
  • -d ile veri gönderimi.
  • -o veya -O ile dosya indirme.
  • -k ile SSL sertifika doğrulamasını atlama.

4. cURL ve Authentication (Kimlik Doğrulama)

API’lerle güvenli iletişim kurmak için kimlik doğrulama gerekebilir.

Basic Authentication:

curl -u "username:password" https://api.example.com/secure

Bearer Token Kullanımı:

curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com/secure

5. cURL ile Dosya İndirme

Dosyaları Orijinal İsmiyle İndirme:

curl -O https://example.com/file.zip

Dosyayı Belirli Bir İsimle Kaydetme:

curl -o custom_name.zip https://example.com/file.zip

6. cURL ile API Testi

API geliştirme sürecinde cURL, test aracı olarak kullanılabilir. Özellikle yanıtları (response) incelemek ve hata ayıklama yapmak için idealdir.

HTTP Başlıklarını Görmek:

curl -i https://api.example.com/resource

Yanıt Detaylarını Kayıt Etmek:

curl -v https://api.example.com/resource

Programlama Dillerinde cURL

1. PHP’de cURL Kullanımı

PHP'de cURL, API'lerle iletişim kurmak için güçlü bir kütüphanedir.

Basit GET İsteği:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.example.com/resource");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

POST İsteği:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.example.com/users");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["name" => "Atilla"]));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

2. Python’da cURL (Requests Modülü ile)

Python’da requests modülü, cURL benzeri işlevsellik sağlar.

import requests
response = requests.get("https://api.example.com/resource")
print(response.json())

cURL Avantajları ve Dezavantajları

Avantajları:

  • Çok protokol desteği (HTTP, HTTPS, FTP vb.).
  • Hafif ve hızlı.
  • Her platformda çalışabilir.
  • API testi için ideal.

Dezavantajları:

  • Komut satırından kullanımı karmaşık olabilir.
  • İnsan okunabilirliği düşüktür (ham veri döner).

Sonuç

cURL, API’lerle iletişim kurmak, dosya indirmek ve test yapmak için güçlü bir aracır. Hem komut satırında hem de programlama dillerinde kolayca kullanılabilir. Eğer RESTful API veya GraphQL ile çalışıyorsan, cURL’ün sunduğu esnekliği mutlaka değerlendirmelisin.

« Geri dön | Yorum gönder | Yukarı ↑
» Hakkımda
A
Atilla Mutlu
Yazılım Geliştirici

Devamını oku »
» Son Yazılar
› Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye
› Laravel Model Controller
› PostgreSQL Mini‑Kılavuz
› ReactJS Rehberi
› Spatie Laravel Paketleri
» İstatistik
Ziyaretçi Sayısı
036364
Toplam yazı: 63
PHPpowered SQLiteinside Firefoxile daha iyi CSStables ♥
Bu site en iyi 1024x768 çözünürlükte görüntülenir.
Copyright © 2006-2026
Anasayfa | Hakkımda | İletişim | Yukarı ↑
Bu sayfa 0,011 saniyede oluşturuldu.