CURL Kütüphanesi


    × Bunları biliyor muydunuz?
"Dinamik bir kütüphaneyi tanımlarken sınıf isminin başına Internal ön eki getirirerek statik erişimli hale getirebilirsiniz. "


PHP, Daniel Stenberg tarafından yazılan CURL kütüphanesini destekler. CURL kütüphanesi farklı türdeki sunuculara bağlanmaya ve farklı protokollerle iletişim kurmaya yarar. CURL, şimdilik http, https, ftp, gopher, telnet, dict, file ve ldap protokollerini desteklemektedir. Ayrıca, HTTPS sertifikalarını, HTTP POST, HTTP PUT, FTP karşıya yüklemesini yapılabilmektedir. HTTP formların karşıya yüklemesini, oturumları, çerezleri ve kullanıcılı ve parolalı kimlik doğrulamasını da desteklemektedir.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-services

 

 

# Yöntemler


this init(string $url = NULL)
this option(string $options, mixed $value)
bool exec(void)
this multiple(void)
string escape(string $str)
string unescape(string $str)
mixed info(string $opt)
string error(void)
string errval(int $errno = 0)
int errno(void)
int pause(scalar $bitmask = 0)
bool reset(void)
bool close(void)
mixed version(scalar $data = NULL)

 

 

# Init


Bir CURL oturumu başlatmak için kullanılır.

Parametreler

string $url = NULL CURLOPT_URL değerini ön tanımlı ayarlamak için kullanılır.
return this

Kullanımı

CURL::init()
    ->option('url', 'https://www.ornek.com/')
    ->option('header', 0)
    ->exec();

 

 

# Option


Belirtilen CURL oturum tanıtıcısı üzerinde bir seçenek oluşturmak için kullanılır.

Parametreler

string $option Atanacak CURLOPT_* seçeneği.
mixed $value Atanacak seçeneğin değeri.
return this

Kullanımı

CURL::init()
    ->option('url', 'https://www.ornek.com/')
    ->option('post', 1)
    ->option('postfields', ['name' => 'Example'])
    ->exec();

Yöntemsel Seçenekler

Seçenekler yöntem isimleri ile yapılandırılabilir hale gelmiştir. CURLOPT_SSL_VERIFYPEER gibi birden fazla kelimenin birleşiminden oluşan sabitler ise sslVerifypeer() formunda yani camelCase standartında yazılmalıdır. Bunlar seçenek oldukları için CURLOPT_ ibaresinin kullanılmasına da gerek yoktur.

CURL::init()
    ->url('https://www.ornek.com/')
    ->post(1)
    ->postfields(['name' => 'Example'])
    ->header(0)
    ->sslVerifypeer(true)
    ->exec();

Yukarıda görüldüğü üzere seçenekler yöntem isimleri ile kullanılıp parametre ile yeniden yapılandırılmıştır.

 

 

# Exec


Başlatılan CURL oturumunu çalıştırmak için kullanılır.

Parametreler

void
return bool

Kullanımı

CURL::init()
    ->option('url', 'https://www.ornek.com/')
    ->option('post', 1)
    ->option('postfields', ['name' => 'Example'])
    ->exec();

 

 

# Multiple [6.5.4]


Çoklu CURL isteği oluşturmak için kullanılır. Çoklu CURL isteği oluşturmak için seçenek tanımlamaları mutlaka init($url) ile sonlandırılmalıdır.

Parametreler

void
return this

Kullanımı

$result = CURL::multiple()
              ->returntransfer(1)->init('url1')
              ->returntransfer(1)->init('url2')
              ->exec();

output($result);

Çoklu istek mutlaka CURL::multiple() ile başlamalı ve seçenekler CURL::init($url) ile sonlandırılmalı nihai olarak CURL::exec() ile istek tamamlanmalıdır.

 

 

# Escape


Özel içerikli karakterleri kodlar.

Parametreler

string $str Kodlanacak dizge.
return this

Kullanımı

CURL::init();
echo CURL::escape('Şaban');
%C5%9Eaban 

 

 

# Unescape


Kodlanmış özel içerikli karakterleri çözümler.

Parametreler

string $str Çözülecek dizge.
return this

Kullanımı

CURL::init();
$encode = CURL::escape('Şaban');
echo CURL::unescape($encode);
Şaban 

 

 

# Info


Başlatılan oturumla ile ilgili bilgi verir.

Parametreler

string $op Bilgi alınacak seçenek adı.
return mixed

Kullanımı

CURL::init('https://www.znframework.com');
output(CURL::info('effective_url'));
https://www.znframework.com

 

 

# Error / Errval


CURL oturumu ile ilgili hata olup olmadığı bilgisini verir. Yukarıdaki her iki yöntemde aynı işlevi görür.

Parametreler

void
return string

Kullanımı

CURL::init('https://www.znframework.coms');
CURL::exec();
output(CURL::error());
Could not resolve host: www.znframework.coms

 

 

# Errno


CURL oturumu ile ilgili hata olup olmadığı bilgisini hata numarası olarak verir.

Parametreler

void
return string

Kullanımı

CURL::init('https://www.znframework.coms');
CURL::exec();
output(CURL::errno());
6

 

 

# Pause


CURL oturumunu duraklatır.

Parametreler

mixed $bitmask = 0 CURLPAUSE_* sabitlerini parametre olarak kabul eder.
return int

Kullanımı

CURL::init('https://www.znframework.com');
CURL::pause();
CURL::exec();

 

 

# Reset


CURL oturumunda tanımlanan tüm seçenekleri sıfırlar.

Parametreler

void
return bool

Kullanımı

CURL::init('https://www.znframework.com');
CURL::reset();

 

 

# Close


CURL oturumunu sonlandırmak için kullanılır. Bu işlem sınıf tarafından otomatik olarak yapılmaktadır.

Parametreler

void
return bool

Kullanımı

CURL::init('https://www.znframework.com');
CURL::exec();
CURL::close();

 

 

# Version


CURL sürüm bilgisini verir.

Parametreler

mixed $data = NULL Versiyon bilgi seçeneği.
return mixed

Kullanımı

CURL::init('https://www.znframework.com')->exec();

output(CURL::version());
version_number => integer 471297 ( length = 6 ),
age => integer 3 ( length = 1 ),
features => integer 266141 ( length = 6 ),
ssl_version_number => integer 0 ( length = 1 ),
version => string '7.49.1' ( length = 8 ),
host => string 'i386-pc-win32' ( length = 15 ),
ssl_version => string 'OpenSSL/1.0.2h' ( length = 16 ),
libz_version => string '1.2.8' ( length = 7 ),
protocols => array
(
        0 => string 'dict' ( length = 6 ),
        1 => string 'file' ( length = 6 ),
        2 => string 'ftp' ( length = 5 ),
        3 => string 'ftps' ( length = 6 ),
        4 => string 'gopher' ( length = 8 ),
        5 => string 'http' ( length = 6 ),
        6 => string 'https' ( length = 7 ),
        7 => string 'imap' ( length = 6 ),
        8 => string 'imaps' ( length = 7 ),
        9 => string 'ldap' ( length = 6 ),
        10 => string 'pop3' ( length = 6 ),
        11 => string 'pop3s' ( length = 7 ),
        12 => string 'rtsp' ( length = 6 ),
        13 => string 'scp' ( length = 5 ),
        14 => string 'sftp' ( length = 6 ),
        15 => string 'smtp' ( length = 6 ),
        16 => string 'smtps' ( length = 7 ),
        17 => string 'telnet' ( length = 8 ),
        18 => string 'tftp' ( length = 6 ),
)
Not: CURL İşlemleri hakkında yeteri kadar deneyiminiz yoksa CURL Kullanımı için php.net adresini ziyaret ediniz.