Merhaba arkadaşlar,
Bazı zamanlarda ihtiyaç duyduğumuz cURL için basit bir yapı hazırladım.Umarım işinize yarar.
Yapının bazı temel özelliklerini saymak gerekirse ;
-> Bağlantı yapılan sayfanın içeriğini, header bilgisini sorunsuzca almaktadır.
-> Bağlantılarınızda opsiyonel olarak POST bilgisi gönderebilme imkanınız bulunmaktadır.
-> Bağlantılarınızdaki karakter bozuklukları için iconv kullanmanıza imkan sağlamaktadır.
Sınıfa ait kod parçacıkları;
Sınıf ile yapılmış örnek bir uygulama;
Sormak istediğiniz tüm soruları konu altına mesaj olarak yazabilirsiniz.Özel mesaj ile gönderdiğiniz sorulara cevap vermeyeceğim.Nedeni ise sorularınızdan tüm herkesi yararlanması için lütfen konuyu kullanınız.
Saygılarımla,
Bazı zamanlarda ihtiyaç duyduğumuz cURL için basit bir yapı hazırladım.Umarım işinize yarar.
Yapının bazı temel özelliklerini saymak gerekirse ;
-> Bağlantı yapılan sayfanın içeriğini, header bilgisini sorunsuzca almaktadır.
-> Bağlantılarınızda opsiyonel olarak POST bilgisi gönderebilme imkanınız bulunmaktadır.
-> Bağlantılarınızdaki karakter bozuklukları için iconv kullanmanıza imkan sağlamaktadır.
Sınıfa ait kod parçacıkları;
PHP:
<?php
class SX_SIMPLE_CURL {
/* Class Variable(s) */
public $curl_iconv_settings;
/* Class Method(s) */
public function __construct() {
$this->curl_iconv_settings = array(
'in_charset' => 'ISO-8859-1',
'out_charset' => 'UTF-8'
);
}
/*
* cURL bağlantı işlemlerinizi yapar.Post veri göndermenizi sağlar.
*
* @param ($url): cURL bağlantısı yapılacak url (string)
* @param ($use_iconv): iconv kullanılsın mı ? (ön tanımlı false) (boolean)
* @param ($postVariable): post işlemi yapılsın mı ? (Eğer post işlemi yapılacaksa veri tipi string olmalıdır.) (string)
*
* @return (array)
*/
public function curl($url, $use_iconv=false, $postVariable=null) {
$curl = curl_init();
$data = array();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_NOBODY, false);
curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
if(isset($postVariable) && is_string($postVariable)):
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postVariable);
endif;
curl_setopt($curl, CURLOPT_VERBOSE, true);
$data['content'] = curl_exec($curl);
$data['content'] = ($use_iconv) ? $this->curl_iconv($data['content']) : $data['content'];
$data['errno'] = curl_errno($curl);
$data['err_msg'] = curl_error($curl);
$data['header'] = curl_getinfo($curl);
curl_close($curl);
return $data;
}
/*
* SX_SIMPLE_CURL::curl() metotunda kullanılan yardımcı metottur.İstenilirse iconv işlemlerindede kullanılabilir.
*
* @param ($str) Çeviri yapılacak veri (string)
*
* @return (string)
*/
public function curl_iconv($str) {
return iconv($this->curl_iconv_settings['in_charset'], $this->curl_iconv_settings['out_charset'], $str);
}
}
?>
Sınıf ile yapılmış örnek bir uygulama;
PHP:
<?php
$SX = new SX_SIMPLE_CURL();
$url = 'http://www.r10.net/';
$curl = $SX->curl($url);
echo $curl['content']; // Bağlandığımız sayfanın sayfa içeriği
echo $curl['header']; // Bağlandığımız sayfanın header bilgisi
?>
Sormak istediğiniz tüm soruları konu altına mesaj olarak yazabilirsiniz.Özel mesaj ile gönderdiğiniz sorulara cevap vermeyeceğim.Nedeni ise sorularınızdan tüm herkesi yararlanması için lütfen konuyu kullanınız.
Saygılarımla,
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yap veya üye ol.
(Ogün KARAKUŞ)