Penggunaan CURL pada PHP

Posted in Web Services, Tuesday, December 18th, 2012, by Muhammad Fahmi Al Azhar

Melanjutkan catatan saya sebelumnya tentang web services, kali ini saya menulis tentang CURL. CURL ini terdapat di dalam libcurl.

Apa itu liburl? liburl adalah library yang didevelop oleh Daniel Stenberg, library ini memungkinkan kita untuk berkomunikasi dengan berbagai server dan protokol. Liburl saat ini mendukung protokol http, https, ftp, gopher, telnet, dict, file, dan ldap.

Selain itu liburl juga mendukung sertifikat HTTPS, HTTP POST, HTTP PUT, FTP upload, form upload dari HTTP, proxy, cookies, dan authentikasi user dan password.

Untuk lebih jelas tentang CURL ini, saya akan mencoba memberikan sedikit gambaran tentang CURL.

Penggunaan CURL PHP

Pada intinya, CURL digunakan untuk mengakses resources pada server tertentu.

Pada PHP, kita kenal fungsi include yang berfungsi untuk menyertakan suatu fungsi yang berada di file lain. Misalnya:

<?php include(‘koneksi.php’);?>

Selain itu kita juga bisa melakukan seperti ini:

<?php include(‘http://azuharu.net’);?>

Hal tersebut dapat dilakukan dengan catatan, server azuharu.net memperbolehkan fungsi tersebut berjalan. Mengapa demikian? Hal ini karena menggunakan fungsi include untuk mengambil halaman web secara remote merupakan bad practice. Alasannya berkaitan dengan keamanan, fungsi include memberikan celah di server sehingga mudah di hack oleh pihak yang tidak bertanggung jawab.

Dari keterangan di atas, maka dibutuhkan sebuah method untuk mengakses resources tetapi dengan keamanan yang terjamin, yaitu menggunakan CURL ini.

Ada 4 tahapan ketika kita menggunakan CURL, yaitu:

  1. Inisialisasi CURL
  2. Set options
  3. Execute CURL
  4. Close CURL

Berikut adalah contoh penggunaan CURL. Anda dapat mencoba menggunakan source code berikut di web server anda (misal di XAMPP dsb).

<?php

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://azuharu.net');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); //waktu timeout ketika server tidak aktif
curl_exec($curl_handle);
curl_close($curl_handle);

?>

Semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *