Php’de Curl ile Bot Yapımı

Merhabalar. Bu yazıda curl kütüphesini php ile nasıl kullanacağımız hakkında bilgi vereceğim, ve basit bir de curl ile veri çekme işlemi yapacağım. Kısacası php ve curl kullanarak bir bot yapmış olacağız : )

PHP ile CURL Kullanımı

Öncelikle  curl fonksiyononlarını ve  curl optionlarının ne işe yaradıklarını inceleyelim.

Not : Sunucunuzda php extensions’ları içersinde curl kütüphanesinin aktif halde olması gerekiyor.

Curl_init 
Öncelikle curl_init ile başlayalım, init eki ingilizce initialize kelimesinden geliyor, başlatmak manasındadır. Bir çok yazılım dilinde veya frameworkte rastlayabilirsiniz bu tanıma. curl_init fonksiyonu da curl oturumunu başlatmak için kullanılır.

Curl_exec
Curl oturumunu execute etmek (çalıştırmak) için kullanılır.

Curl_close
Curl oturumunu sonlandırmak için kullanılır.

Yukarıdaki fonksiyonu kullanmadan önce tek tek ilerleyelim, daha sonra örneğimizde yukarıdaki fonksiyonu kullanarak daha kolay bi şekilde curl bağlantısı kurup veri çekme işlemine geçebiliriz.

Curl oturumunun detaylarını curl_setopt fonskyinonu ile bildirebiliriz. Aşağıda CURLOPT_URL kullanılarak hamiozturk.com’a bir curl bağlantısı yapılmıştır.

 

Php’de Curl ile Bot Yapımı

Curl bağlantısını bir fonksiyona bağlayalım, daha kullanışlı olması için.

Örneği çalıştırmadan önce kullandığımız optionların ne anlama geldiklerine bakalım;

CURLOPT_RETURNTRANSFER Aktarımı doğrudan çıktılamak yerine bir dizge olarak curl_exec() işlevinden döndürmek için TRUE olmalıdır.

CURLOPT_SSL_VERIFYPEER Bağlantımız ssl serfitikalı bir bağlantıysa, değerine false vermeliyiz.

CURLOPT_USERAGENT Botları engellemiş bağlantılar için, bir tarayıcı bilgisi gönderip, curl bağlantısının gerçek bir kullanıcıymış gibi davranmasını sağlar.

 

 

Merhaba ben Hami Öztürk. 1992 İstanbul doğumluyum. 2010 senesinden bu yana, bir çok web projesi içerisinde bulundum. Gerek yazılım gerek tasarım boyutunda çeşitli sektörlere, web tabanlı yazılımlar, web siteleri geliştirdim, geliştirmeye devam ediyorum. Şuan freelance olarak web tasarım ve yazılım hizmeti veriyorum.