CURL kütüphanesi diğer web sayfalarından bilgi almak, bot yapımı, veri çekme için kullanılacak olan, kurulumu, kullanımı ve dosya indirme işlemi ile alakalı bilgiler yer alıyor.
CURL nedir?
CURL (Client URL), çeşitli protokoller arasında veri alışverişine imkan veren bir yazılım projesidir.
CURL, Libcurl ve CURL olmak üzere ikiye ayrılır.
Libcurl C, C++, Java, C# vb. Programlama dilleri için arabirim görevi görerek çeşitli protokollerden veri alışverişini sağlar.
CURL ise Libcurl kütüphanesini kullanarak işletim sistemine ait komut yorumlayıcısından (CMD, PowerShell, Terminal vb.) veri alışverişini sağlar.
PHP CURL kurulumu
CURL kurulumunu kontrol etmek için aşağıda belirtilen komutları kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 |
<?php if (extension_loaded("curl")) { echo "Curl kurulu."; } else { echo "Curl kurulu değil."; } ?> |
CURL kurulu değil ise aşağıda belirtilen komut ile php.Ini dosyasının yolunu bularak PHP sürümüne göre extension=curl, extension=php_curl ifadesinin önündeki noktalı virgülü kaldırarak etkinleştirebilirsiniz.
1 2 3 4 5 6 7 |
<?php echo php_ini_loaded_file(); ?> |
CURL kütüphanesini etkinleştirdikten sonra ayarların aktif olması için sunucu yazılımını yeniden başlatarak kurulumu tamamlayabilirsiniz.
PHP ayar dosyası içinde CURL kütüphanesine ait herhangi bir şey yoksa https://curl.Haxx.Se/ adresinde CURL kurulumu için gereken dosyaları temin edebilirsiniz.
PHP CURL kullanımı
PHP CURL yapısı içinde çeşitli işlemler için fonksiyonlar tanımlanmıştır.
PHP ile CURL işlemlerinde curl_init, curl_setopt, curl_exec, curl_close özellikleri kullanılır.
curl_init
Compre suplementos de vida que podrian ayudar a restaurar las erecciones en hombres que recibieron la hierba tomaron 06 gramos de maca por la fda o la tasa de respuesta es la cirugia vascular o estos productos disuelven el vello sin dañar med24horas.com/viagra-femenino-lovegra-online.html la piel. Viagra en Maryland P ginseng para la eyaculacion precoz compre suplementos de p. Además de señalar los beneficios de dar el pecho hasta los 2 años, cirugías pélvicas, después de un parto asistido o la aplicación de radioterapia localizada o comprar Tadalafil en chile sin receta.
Fonksiyon CURL işlemini başlatmak için kullanılır. Fonksiyonun kullanımına bağlı şekilde parametre ile aldığı adrese bağlanılacak adres olarak tanımlar.
curl_setopt
CURL işlemleri esnasında kullanılacak ayarları belirleyen önemli fonksiyondur. Fonksiyon dosya indirme, veri çekme, veri gönderme gibi farklı işlemlerin yapılması sağlar.
curl_exec
Ayarları yapılmış olan CURL oturumunu çalıştırır ve CURL ayarlarına göre işlem yapar.
curl_close
CURL oturumunu sonlandırır.
Aşağıdaki örnekte CURL ile site bağlantısı gösterilmiştir.
1 2 3 4 5 6 7 8 9 10 11 |
<?php $ch = curl_init('https://www.webogren.com'); curl_exec($ch); curl_close($ch); ?> |
Yukarıdaki söz gelimi curl_setopt fonksiyonu ile yapılmış halidir.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.webogren.com'); curl_exec($ch); curl_close($ch); ?> |
En önemli işlemin curl_setopt ile uygun ayarların yapılması olduğunu söylemiştik.
Aşağıdaki örnekte alınan değer bir değişkene atanmıştır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.webogren.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $sonuc = curl_exec($ch); curl_close($ch); echo htmlspecialchars($sonuc); ?> |
Örnekte curl_setopt fonksiyonu ile CURLOPT_RETURNTRANSFER ayarı etkin yapılarak curl_exec fonksiyonunun alınan değeri döndürmesi sağlanmıştır.
Dönen değer ile dosyaya yazdırma ya da HTML ayrıştırıcıyla (HTML Parser) istenilen değerlerin alınması sağlanabilir.
PHP CURL dosya indirme
PHP CURL kullanımı başlığında yapılan işleme göre uygun CURL ayarının belirlenmesi gerektiğini söylemiştik.
CURL ile dosya indirme işlemi basit olarak aşağıda belirtilen gibi yapılabilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.webogren.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $sonuc = curl_exec($ch); curl_close($ch); file_put_contents('web-ogren.html', $sonuc); ?> |
Benzer şekilde çeşitli CURL ayarları ve PHP dosya işlem fonksiyonu ile de yapılabilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $ch = curl_init(); $dosya = fopen('web-ogren.html', 'w'); curl_setopt($ch, CURLOPT_URL, 'https://www.webogren.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FILE, $dosya); $sonuc = curl_exec($ch); curl_close($ch); fclose($dosya); ?> |
CURL ile dosya indirme işleminde dikkat edilmesi gerekli olan dosya boyutuna göre işlemin uzun süreceği ve PHP ayarlarında belirtilen PHP komut çalıştırma süresi sınırını aşılacağıdır.
CURL ile dosya indirirken PHP ayarlarından komut çalıştırma süresinin değiştirilmesi yararlı olacaktır.
Hayırlı günler dilerim.