Menggunakan CURL untuk request GET dengan PHP

CURL atau Client URL adalah sebuah php extenstion yang berfungsi untuk mengirim dan menerima data via url, dengan CURL mempermudah pengembang aplikasi untuk mentransfer data antar website atau domain.

CURL bersifat open source dan gratis, pastikan anda sudah mengaktifkan ekstensi ini agar kita bisa melanjutkan tutorial kita selanjutnya.

Untuk mengaktifkan ekstensi ini anda perlu merubah konfigurasi file php.ini, dengan menghilangkan simbol ( ; ) pada baris extension=curl atau extension=php_curl.dll setelah itu restart webservice.

Biasanya extensi curl sudah aktif default dari webservice. Tetapi jika tidak, anda dapat menggunakan cara diatas untuk mengaktifkannya.

Biasanya CURL digunakan untuk mengambil data secara remote dari website atau domain seperti Rest API, atau elemen website tertentu.

Ditutorial kali ini kita akan mencoba menggunakan CURL didalam file PHP untuk melakukan request dengan metode GET.

CURL sendiri tidak hanya mensupport untuk bahasa PHP tetapi bahasa lain juga bisa menggunakan CURL sebagai media transfer data.

Persiapan bagian datasource

Disini saya menggunakan PHP Native untuk menampilkan data dalam format json, script inilah yang akan menjadi sumber data yang akan diakses oleh client.

Berikut adalah script dari datasource kita datasource.php, sederhana hanya berisi array yang dirubah dalam format json:

<?php
    $data = array("content" => array(
        1 => "Cara mengaktifkan ekstensi CURL",
        2 => "Mengirim request GET dengan CURL",
        3 => "Mengirim request POST dengan CURL"   
    ));
    header('Content-Type: application/json');
    echo json_encode($data);
?>

Sederhana, kita cuma menyediakan array dan merubahnya menjadi format json, kemudian menampilkannya.

Saat script diatas dijalankan hasilnya adalah seperti berikut :

Mengakses datasource dengan CURL

Disisi client (index.php) saya menggunakan CURL untuk mengakses data dari data source yang berupa alamat url, setelah itu data akan ditampilkan. Berikut adalah script untuk sisi Client:

<?php
$url = "http://localhost/datasource.php";
// inisiasi curl
$handle = curl_init();
//set url 
curl_setopt($handle, CURLOPT_URL, $url);
//mengambil hasil dalam bentuk string
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
// jalankan script curl
$hasil = curl_exec($handle);
curl_close($handle);

//menampilkan data
$data = json_decode($hasil);
foreach($data->content as $i => $value){
  echo $i . ". " . $value . " ";
}

?>

Alamat url yang saya gunakan adalah url dari localhost, CURL perlu diinisiasi terlebih dahulu dengan perintah curl_init(), kemudian kita masukkan urlnya dan jalankan perintah CURL. Untuk melakukan close pada handle gunakan perintah curl_close($handle).

Setelah CURL mengirim request, kita tinggal melakukan proses parse untuk menampilkan data dari data source. Berikut adalah hasilnya di web browser :

Mungkin Anda juga menyukai

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *