Cara menggunakan php curl library

Hallo sobat, pada tulisan kali ini Saya ingin berbagi tutorial tentang bagaimana cara menggunakan cURL pada PHP. Kenapa Saya ingin membahas ini? karena topik ini sangat hits di kalangan developer PHP di seluruh penjuru dunia. cURL sangat sering digunakan oleh developer-developer handal dalam membuat sebuah komunikasi data tanpa harus membuat sebuah interface aplikasi, jadi komunikasi data terjadi di background proses aplikasi.

Table of Contents

  • Apa itu cURL ?
  • Cara Instalasi dan Konfigurasi cURL pada PHP
  • Cara Menggunakan cURL pada PHP
  • Cara Membungkus cURL dengan Fungsi
  • Cara Mengambil Data JSON dengan cURL
  • Cara Mengubah Data JSON menjadi HTML dengan cURL
  • Cara Mengirim Data JSON dengan cURL
  • Cara Menerima Data JSON Hasil dari Pengiriman cURL
  • Cara Setting Proxy pada cURL
  • Cara Mengatasi Masalah SSL saat Menjalankan cURL dari Localhost

Menarik kan? pasti Anda sudah mulai penasaran dan gak sabar ingin segera berkenalan dengan cURL ini. Yuk, mari baca dan simak tulisan ini sampai habis. Di jamin akan memberikan manfaat yang besar untuk menambah pengetahuan Anda. Oke, langsung saja ya.

  • Apa itu cURL ?
  • Cara Instalasi dan Konfigurasi cURL pada PHP
  • Cara Menggunakan cURL pada PHP
  • Cara Membungkus cURL dengan Fungsi
  • Cara Mengambil Data JSON dengan cURL
  • Cara Mengubah Data JSON menjadi HTML dengan cURL
  • Cara Mengirim Data JSON dengan cURL
  • Cara Menerima Data JSON Hasil dari Pengiriman cURL
  • Cara Setting Proxy pada cURL
  • Cara Mengatasi Masalah SSL saat Menjalankan cURL dari Localhost

Apa itu cURL ?

cURL adalah singkatan dari client URL, sebelum berganti nama menjadi cURL, cURL dulunya bernama HttpGet. Secara gambaran umum cURL merupakan sebuah program dan library yang berfungsi untuk mengirim dan mengambil data melalui URL.

cURL program adalah sebuah program atau tools yang digunakan pada command line (CMD). Syntax dasarnya seperti berikut ini:

curl [OPTIONS] [URL]

cURL library adalah sekumpulan fungsi cURL yang dibungkus dalam sebuah paket libcurldan bisa digunakan dalam berbagai macam bahasa pemrograman.

Sekarang Anda sudah tau kan? cURL itu ada 2 versi yaitu versi program yang di jalankan melalui command line (CMD) dan versi library yang disematkan ke dalam compiler atau script bahasa pemrograman. Pada pemrograman PHP, cURL digunakan untuk membuat sebuah HTTP Request dan juga biasa digunakan untuk mengakses sebuah Web Services atau Application Programming Interface (API). Pada fokus tulisan ini Saya akan coba memberikan tutorial, bagaimana cara menjalankan cURL dengan script bahasa pemrograman PHP.

Cara Instalasi dan Konfigurasi cURL pada PHP

Untuk menjalankan cURL dengan script PHP, Anda harus instal library cURL terlebih dahulu. Jika Anda menggunakan sistem operasi Linux, Anda bisa gunakan perintah seperti berikut ini:

apt install php-curl

Pada sistem operasi Linux, setelah instal selesai secara default cURL akan otomatis diaktifkan.

Selanjutnya jika Anda menggunakan sistem operasi Windows, Anda bisa menggunakan Xampp. Kenapa menggunakan Xampp? karena cURL sudah terinstal pada Xampp, jadi Anda cukup mengaktifkannya saja. Sekedar informasi, di tutorial ini environment system yang Saya gunakan adalah 64x / 64bit. Saya menggunakan Windows 10 dan Xampp dengan versi 7.2.16. Berikut ini adalah cara mengaktifkan cURL di Xampp, mari simak langkah-langkah dibawah ini:

Langkah 1

Buka file php.ini yang berada pada direktori “C:\xampp\php“. Pada contoh kasus ini Xampp Saya berada di drive C, jadi sesuaikan dengan lokasi instalasi Xampp Anda masing-masing.

Langkah 2

Kemudian cari baris extension seperti berikut ini:

;extension=php_curl.dll 
atau 
;extension=curl

Langkah 3

Hapus tanda titik koma (;) dan SAVE.

Langkah 4

Restart Apache dan cek phpinfo();.

Untuk melakukan pengecakan cURL sudah aktif atau belum, Anda bisa membuat script phpinfo(); seperti dibawah ini:

Lalu SAVE dan letakan di htdocs atau /var/www/html, kemudian cobalah buka melalui localhost di browser, atau jika Anda menggunakan Xampp biasanya phpinfo(); sudah tersedia di localhost. Jika muncul phpinfo(); seperti tampilan dibawah ini, berarti cURL pada Web Server Anda sudah Aktif.

Cara menggunakan php curl library

Baca Juga: Cara Membuat Koneksi PHP 7 ke SQL Server

Cara Menggunakan cURL pada PHP

Untuk menggunakan cURL pada bahasa pemrograman PHP, ada 4 langkah mendasar yang perlu Anda ketahui, diantaranya yaitu:

  1. Inisialisasi, melakukan inisialisasi dengan fungsi curl_init();.
  2. Set Option, memberikan nilai options seperti alamat URL destinasi, format hasil, header dan lainnya dengan fungsi curl_setopt();.
  3. Eksekusi, melakukan HTTP Request sesuai dengan options yang diberikan dan mengeksekusinya dengan fungsi curl_exec();.
  4. Tutup, setelah selesai mengeksekusi cURL sudah tidak digunakan lagi dan ditutup dengan fungsi curl_close();.

Lihat script dibawah ini, ini adalah contoh sederhana penggunaan cURL library pada PHP.

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); Set Option pada cURL yang berfungsi untuk mengembalikan transfer menjadi bentuk String.

Hasilnya:

Script cURL diatas bertujuan untuk menampilkan isi halaman dari URL https://sandbox.rachmat.id/curl/.

Cara Membungkus cURL dengan Fungsi

Kenapa harus dibungkus dengan fungsi? jawabnya adalah agar script memiliki tata kelola yang baik, terlihat rapih dan menghindari penulisan script yang berulang-ulang, hal ini membuat pemanggilan script tersebut lebih ringkas. Lihat script dibawah ini:

Hasilnya:

Cara Mengambil Data JSON dengan cURL

Pada contoh sederhana ini Saya akan coba mengambil data dari sebuah Web Service atau API yang memiliki respon berupa data berbentuk JSON, lalu akan ditampilkan kembali menjadi sebuah Array. Lihat contoh script dibawah ini:

";
print_r($data);
echo "
"; ?>

Hasilnya:

Cara Mengubah Data JSON menjadi HTML dengan cURL

Pada contoh sederhana ini Saya akan coba mengambil data lagi dari sebuah Web Service atau API yang memiliki respon berupa data berbentuk JSON, lalu akan ditampilkan kembali menjadi sebuah HTML. Lihat contoh script dibawah ini:







ID Title URL
" target="_blank">

Hasilnya:

Cara Mengirim Data JSON dengan cURL

Pada contoh sederhana ini Saya akan coba mengirimkan data ke sebuah Web Service atau API dengan cURL, menggunakan Method POST. Contoh yang Saya buat ini di analogikan untuk melakukan update stok barang, setelah proses update stok barang berhasil, akan muncul respon data berbentuk JSON. Lihat contoh script dibawah ini:

"Komputer","stok"=>"50");
$send = curl("https://sandbox.rachmat.id/curl/post/",json_encode($data));

echo json_encode(array('respon'=>$send),JSON_UNESCAPED_SLASHES);
?>

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); Set Option pada cURL yang berfungsi untuk mendeklarasikan Method yang digunakan saat proses kirim data.
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); Set Option pada cURL yang berfungsi untuk menampung data dan parameter yang akan dikirimkan melalui cURL.
JSON_UNESCAPED_SLASHES berfungsi untuk menghilangkan backslash pada hasil respon Web Service atau API.

Hasilnya:

Cara Menerima Data JSON Hasil dari Pengiriman cURL

Jika Anda lihat pada contoh “Cara Mengirim Data JSON dengan cURL”, data dan parameter dikirim ke Web Service atau API dengan alamat URL https://sandbox.rachmat.id/curl/post/. URL tersebut berisi script untuk menerima data dan parameter yang dikirim melalui cURL. Berikut ini adalah script untuk menerima data dan parameter dari cURL, lihat dibawah ini:

nama_barang) OR empty($arr->stok)){
    echo "Submit gagal! Kolom barang / stok tidak boleh kosong.";
} else {
    echo "Submit berhasil! Stok barang dengan nama ".$arr->nama_barang." ditambah sebanyak ".$arr->stok.".";
}
?>

Baca Juga: Cara Membuat Data Berbentuk JSON dengan PHP

Cara Setting Proxy pada cURL

Penggunaan Proxy pada jaringan internet terkadang tanpa kita sadari bisa menjadi penyebab cURL tidak bekerja dengan baik, untuk Anda yang jaringan internetnya menggunakan Proxy bisa menambahkan satu baris Set Option seperti berikut ini:

curl_setopt($ch, CURLOPT_PROXY, "IP_ADDRESS:PORT");

Masukan IP Address dan Port Proxy Anda, lalu letakan Set Option Proxy tersebut tepat dibawah fungsi curl_init();.

Cara Mengatasi Masalah SSL saat Menjalankan cURL dari Localhost

Tutorial ini dijamin WORK 100%, namun bila saat mencoba tutorial ini Anda mengalami “Blank Page” itu bisa jadi karena masalah pengaturan SSL pada Web Server Anda, pastikan extension openssl di php.ini telah aktif. Bila openssl sudah aktif namun masih “Blank Page”, dari pengalaman Saya menggunakan cURL permasalahan ini di sebabkan oleh certificates SSL-nya. Anda bisa download certificates SSL pengganti di https://curl.haxx.se/ca/cacert.pem.

Setelah selesai download, letakan file cacert.pem (file hasil download) di folder Xampp Anda agar mudah di jangkau. Lalu buka php.ini dan cari 2 baris script seperti dibawah ini:

curl.cainfo="C:\xampp\apache\bin\curl-ca-bundle.crt"
openssl.cafile="C:\xampp\apache\bin\curl-ca-bundle.crt"

Dirubah menjadi seperti berikut ini:

curl.cainfo="C:\xampp\cacert.pem"
openssl.cafile="C:\xampp\cacert.pem"

Lalu SAVE dan Restart Apache.

Untuk beberapa tutorial yang menggunakan JSON di atas, pastikan format JSON yang Anda buat sudah benar dan valid, saran saya gunakan JSON Validator untuk memeriksanya.

Mudah kan? pastikan jangan sampai ada langkah yang terlewat ya.

Demikian pembahasan tentang Tutorial Lengkap Cara Menggunakan cURL pada PHP, semoga tulisan ini bisa memberikan manfaat untuk Anda yang membaca. Sampai jumpa di tulisan berikutnya. Terima Kasih

Apa itu PHP cURL?

Client URL atau umumnya disingkat menjadi cURL, adalah project open source yang berupa program yang berjalan pada command line (CMD), namun saat ini sudah tersedia library pada banyak bahasa pemrograman seperti PHP, Phyton, dan masih banyak lainya.

Apa itu Metode cURL?

Curl adalah sebuah program dan library untuk mengirim dan mengambil data melalui URL.