[ PHP ] Codeigniter – cURL

Assalamualaikum Wr. wb

Pada kesempatan kali ini saya akan menerangkan bagaima cara penggunaan cUrl untuk pertukaran data antar server. Pertama- tama saya akan menjelaskan tentang cUrl itu sendiri, tapi yang paling penting adalah aktifkan extention cUrl pada file php.ini. extension=php_curl.dll.

Pengertian Curl

Curl merupakan librari php yang memungkinkan anda untuk mentransfer data melalui berbagai protokol. Curl ini, banyak digunakan sebagai cara untuk mengirim atau meminta data dari satu atau beberapa situs, termasuk didalamnya seperti interaksi API dan oAuth. Pada dasarnya permintaan dengan cURL tidak dibatasi dalam hal apapun, mirip seperti permintaan HTTP dasar, juga bisa untuk upload FTP dan yang lebih lebih kompleks interaksi otentifikasi dengan situs HTTPS tertutup. Nah pada postingan kali ini, kami akan menunjukan beberapa perbedaan sederhana penggunaan CURL antara permintaan GET dan permintaan POST 

Kenapa harus cUrl ??

Didalam PHP sebenarnya ada fungsi sejenis dan sangat mudah penggunaannya yaitu file_get_contents, tapi cURL memiliki beberapa kelebihan yaitu bisa menggunakan COOKIE dan bisa melakukan POST method. Karena ada beberapa website yang melindungi kontennya dengan menggunakan Cookie dan POST method, namun saya tidak menyarankan untuk mencuri konten menggunakan cURL.

Kapan harus pake cUrl??

Waktu yang tepat untuk menggunakan cURL adalah ketika kita ingin mengambil sebuah data dari sebuah website sebagai contoh mengambil rss timeline dari twitter kita, mengambil data dari bmkg untuk diterjemahkan menjadi data yang lebih enak dibaca.

Pengaturan Dasar cUrl

Sebelum kita mulai melakukan permintaan isi halaman dengan Curl, kita harus terlebih dahulu tahu instance dari Curl – anda dapat melakukan curl dengan memanggil fungsi curl_init(); yang mengembalikan data Curl. Fungsi ini membutuhkan satu parameter yang merupakan URL.

  • curl_init = memulai sesi cURL
  • curl_setopt = menentukan opsi-opsi sebelum menjalankan cURL.
  • curl_exec = menjalankaan cURL.
  • curl_close = menutup sesi cURL

kita dapat mengatur konfigurasi CURL dengan menggunakan metode curl_setopt(), yang mengambil tiga parameter yaitu: sumber Curl, konfigurasi dan nilai

berikut adalah CURLOPT optionnya :

CURLOPT_RETURNTRANSFER – Mengembalikan respon sebagai string
CURLOPT_CONNECTTIMEOUT – Mengembalikan Jumlah detik yang dihabiskan saat mencoba mengkoneksi
CURLOPT_TIMEOUT – Jumlah detik untuk cURL
CURLOPT_USERAGENT – Nilai Useragent digunakan untuk permintaan
CURLOPT_URL – URL untuk mengirim permintaan ke
CURLOPT_POST – Kirim permintaan sebagai POST
CURLOPT_POSTFIELDS – Array untuk data dalam permintaan POST

$url     = ” http://localhost/curl/data.php ” ;
$data   = array (
“name” => “farham”,
“age”       => “31”
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

 

Ketika semua opsi yang dikirim, dan permintaan siap untuk dikirim, kita dapat menggunakan metode curl_exec() untuk mengeksekusi permintaan Curl. Fungsi ini mengembali tiga nilai yang berbeda:

  • false – jika terjadi kesalahan saat mengeksekusi permintaan
  • true – jika permintaan dijalankan tanpa kesalahan dan CURLOPT_RETURNTRANSFER = false
  • result – jika permintaan dijalankan tanpa kesalahan dan CURLOPT_RETURNTRANSFER = true

 

Kesimpulannya

cURL sangat powerfull, dan memiliki banyak kemungkinan dalam penggunaannya. Beberapa situs mungkin hanya melayani permintaan pada halaman untuk beberapa user agent saja, dan ketika bekerja dengan API, beberapa kemungkinan harus anda perhatikan. Jika anda ingin bermain dengan beberapa permintaan Curl, sebaiknya anda mencoba beberapa library oAuth, seperti google, facebook, twitter.

 

 

Referensi : http://my-blog-fafa.blogspot.co.id/2013/05/teknik-dasar-menggunakan-curl.html, http://ebcyberhack.blogspot.co.id/2014/12/belajar-php-curl.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s