İşe Yarar Teknoloji

cURL – Yürütelim Arkadaşlar

cURL

İnsan boş kalmaya görsün ki hemen bir şeyler ile uğraşası geliyor ya da yapacak/uğraşacak bir meşguliyeti yoksa kös kös oturuyor. Daniel Stenberg, muhtemeldir ki yapacak çok şeyi olan ve hayal ettiği birçok şeyi hayata geçirebilen bir insan. Yine muhtemeldir ki 1996 yılının bir sonbahar mevsiminde canı sıkılırken (belki de) 2014’lerde yaklaşık 500 milyon kullanıcısı olacağını düşünmediği cURL projesinin temellerini atmış. Bize de 2014’ün bir yaz gününde bu projeyi tanıtmak kalıyor.

cURL Logo

cURL Nedir?

curl: kıvırmak (fiil), kıvırma, bükme (isim) İlk bakışta bu kelime ve anlamı aklınıza geliyor olabilir, sıkıntı yok, yine de bu anlam ile de ilişkilendirilebilir.

cURL, çeşitli protokoller üzerinden veri aktarımı (istemci oluşturmak) için C programlama dili ile yazılmış komut satırı üzerinde çalışa(bile)n bir programdır/araçtır. cURL logosuna dikkatlice baktığınızda bir slogan yer aldığını görürsünüz: “Groks those URLs“.

cURL ‘ün aslında ne iş yaptığı bu sloganda yatıyor. “Groks” kelimesine baktığınızda bir söz öbeği olarak kullanıldığını görecek fakat Türkçe karşılığını göremeyeceksiniz. Türkçemizde karşılığını şu şekilde verebiliriz; aşırmak, -haberi olmadan- araklamak.

Anlaşılacağı üzere cURL, komut satırlarından ya da kod satırları arasından uzaktaki bir veriye URL sözdimini kullanarak, desteklenen iletişim protokolleri üzerinden bağlanıp veri alış-verişi yapmaya yarayan bir araç, bir kütüphane.

Hangi Protokoller Demiştiniz?

cURL halihazırda DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet ve TFTP protokollerini destekliyor. Bunun yanı sıra işlemlerinizi yaparken SSL kullanabilirliği de sunuyor ve ek olarak temel HTTP Authentication (Yetkilendirme) işlemleri ile kullanıcı-parola yetkilendirmelerini (LDAP, Kerberos vb.) de desteklemekte.

Çok Seviyoruz!

Neden mi? Çünkü, cURL taşınabilir yapısıyla hemen hemen tüm işletim sistemlerinde çalışabilir ve birçok programlama diline entegre olabilir. Ayrıca kendileri de belirtmişlerdir ki 500 milyon kullanıcıya erişmiştir.

Bizim Eleman: libcurl

Farklı platformlara entegre olabilmesinin altyapısında ise libcurl dediğimiz kütüphane arayüzü çıkıyor. Bu kütüphaneyi sisteminize ekleyerek gerekli tüm cURL fonksiyonlarına erişebilir hale geliyorsunuz. Örneğin PHP üzerinde kurulumu için buraya gözatabilirsiniz.

Nasıl İşliyor?

cURL için tüm ortamınız hazırsa yapmanız gereken artık ilgili yerden (komut satırı ya da bir kod satırı) işlemlerinizi başlatmak. Buna başlamadan evvel temel olarak cURL nasıl işliyor (yani ne yaptığımızı) bilirsek herşey daha güzel olacaktır.

Temel olarak cURL aşağıdaki yapıda çalışmaktadır.

curl-cycle

Sonra?

Makalemizin ikinci bölümünde PHP ile cURL işlemlerine değineceğiz, daha sonra ise komut satırı üzerinden cURL kurulum ve kullanımını inceleyeceğiz.