CURL Kütüphanesi


    × Bunları biliyor muydunuz?
"Projects/ dizini altında oluşturulan proje dizinleri çalışan host'un ismi ile isimlendirilirse Settings/Projects.php yapılandırma dosyasına tanımlamaya gerek kalmadan otomatik olarak çağrılması sağlanır."


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 SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-services

 

 

# Yöntemler


This init(String $url = NULL)
This option(String $options, Mixed $value)
Bool exec(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 (ZN >= 2.0.0)


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 (ZN >= 2.0.0)


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 (ZN >= 5.3.7)

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 (ZN >= 2.0.0)


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();

 

 

# Escape (ZN >= 3.1.7)


Özel içerikli karakterleri kodlar.

Parametreler

String $str Kodlanacak dizge.
Return This

Kullanımı

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

 

 

# Unescape (ZN >= 3.1.7)


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 (ZN >= 2.0.0)


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 (ZN >= 2.0.0)


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 (ZN >= 2.0.0)


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 (ZN >= 4.0.0)


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 (ZN >= 2.0.0)


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 (ZN >= 2.0.0)


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 (ZN >= 2.0.0)


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.