CURL adalah singkatan dari Client URL Library yang digunakan untuk mengirim dan menerima data melalui protokol seperti HTTP, FTP, SMTP dan banyak lagi. Di PHP, CURL disediakan sebagai ekstensi bawaan yang memungkinkan pengembang web untuk melakukan permintaan HTTP melalui kode PHP.
CURL Method Get
Berikut ini adalah contoh penggunaan CURL di PHP:
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL curl_setopt($ch, CURLOPT_URL, "http://example.com"); // Set opsi lainnya seperti method, header, body, dll // ... // Eksekusi CURL $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, curl_init() digunakan untuk menginisialisasi CURL dan curl_setopt() digunakan untuk mengatur opsi CURL seperti URL, metode HTTP, header, dan lainnya. Setelah itu, curl_exec() digunakan untuk mengeksekusi permintaan CURL dan mengembalikan respons, dan curl_close() digunakan untuk menutup koneksi CURL.
Menambahkan Header untuk meminta pengembalian dalam bentuk JSON format
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL curl_setopt($ch, CURLOPT_URL, "http://example.com"); // Set opsi header untuk menerima respons dalam format JSON curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json')); // Eksekusi CURL $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, curl_setopt() digunakan untuk mengatur header permintaan dengan memberikan nilai 'Accept: application/json'. Ini akan memberi tahu server bahwa klien meminta respons dalam format JSON.
Jika server mendukung format JSON dan menerima permintaan tersebut, maka respons akan dikirim dalam format JSON. Kita dapat menangani respons tersebut sesuai dengan kebutuhan Kita.
Jika server tidak mendukung format JSON atau tidak dapat menghasilkan respons dalam format tersebut, maka permintaan akan gagal atau respons akan dikembalikan dalam format lain. Oleh karena itu, pastikan untuk menangani respons dengan benar.
Mengirimkan data sebagai POST
Untuk mengirim permintaan POST dengan data pada body-nya melalui CURL di PHP, Kita dapat menggunakan opsi CURLOPT_POSTFIELDS. Berikut adalah contoh bagaimana cara menambahkan body data pada permintaan POST menggunakan CURL di PHP:
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL curl_setopt($ch, CURLOPT_URL, "http://example.com"); // Set opsi POST dan body data curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'name=john&email=john@example.com'); // Eksekusi CURL $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, curl_setopt() digunakan untuk mengatur opsi POST dengan memberikan nilai 1. Selain itu, curl_setopt() juga digunakan untuk menentukan body data yang akan dikirim melalui permintaan POST dengan memberikan nilai 'name=john&email=john@example.com'. Dalam hal ini, body data dikirim sebagai string dengan format key=value.
Kita dapat menyesuaikan body data sesuai dengan kebutuhan Kita. Pastikan juga untuk menangani respons yang diterima dari server dengan benar setelah mengirimkan permintaan.
Mengirimkan data sebagai PUT/update
Untuk melakukan permintaan PUT dengan CURL di PHP, Kita dapat menggunakan opsi CURLOPT_CUSTOMREQUEST. Berikut adalah contoh bagaimana cara melakukan permintaan PUT menggunakan CURL di PHP:
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL curl_setopt($ch, CURLOPT_URL, "http://example.com/api/users/1"); // Set opsi PUT dan body data curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_POSTFIELDS, 'name=john&email=john@example.com'); // Eksekusi CURL $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, curl_setopt() digunakan untuk mengatur opsi PUT dengan memberikan nilai 'PUT' pada CURLOPT_CUSTOMREQUEST. Selain itu, curl_setopt() juga digunakan untuk menentukan body data yang akan dikirim melalui permintaan PUT dengan memberikan nilai 'name=john&email=john@example.com'.
Kita dapat menyesuaikan body data dan URL sesuai dengan kebutuhan Kita. Pastikan juga untuk menangani respons yang diterima dari server dengan benar setelah mengirimkan permintaan PUT.
Mengirimkan data berupa DELETE/meminta penghapusan data
Untuk melakukan permintaan DELETE dengan CURL di PHP, Kita dapat menggunakan opsi CURLOPT_CUSTOMREQUEST. Berikut adalah contoh bagaimana cara melakukan permintaan DELETE menggunakan CURL di PHP:
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL curl_setopt($ch, CURLOPT_URL, "http://example.com/api/users/1"); // Set opsi DELETE curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); // Eksekusi CURL $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, curl_setopt() digunakan untuk mengatur opsi DELETE dengan memberikan nilai 'DELETE' pada CURLOPT_CUSTOMREQUEST.
Kita dapat menyesuaikan URL sesuai dengan kebutuhan Kita. Pastikan juga untuk menangani respons yang diterima dari server dengan benar setelah mengirimkan permintaan DELETE.
Penambahan bearer token di header setiap request
Jika API meminta bearer token di header setiap kali request, Kita dapat menambahkan header tersebut ke dalam permintaan CURL. Berikut adalah contoh bagaimana cara menambahkan bearer token di header permintaan CURL:
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL curl_setopt($ch, CURLOPT_URL, "http://example.com/api/users"); // Set opsi header untuk bearer token curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $bearer_token)); // Eksekusi CURL $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, curl_setopt() digunakan untuk mengatur header permintaan dengan memberikan nilai 'Authorization: Bearer ' . $bearer_token. Di sini, $bearer_token adalah token yang diperoleh dari proses autentikasi dan disimpan dalam variabel. Header ini akan menambahkan token ke dalam header permintaan CURL sebagai nilai Bearer.
Kita dapat menyesuaikan URL dan header sesuai dengan kebutuhan Kita. Pastikan juga untuk menangani respons yang diterima dari server dengan benar setelah mengirimkan permintaan.
Mengirimkan payload json di body
Untuk mengirim permintaan POST dengan body JSON melalui CURL di PHP, Kita dapat menggunakan opsi CURLOPT_POSTFIELDS dengan mengirimkan JSON sebagai string dan menambahkan header Content-Type sebagai 'application/json'. Berikut adalah contoh bagaimana cara mengirim permintaan POST dengan body JSON menggunakan CURL di PHP:
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL curl_setopt($ch, CURLOPT_URL, "http://example.com/api/users"); // Set opsi POST dan body data $data = array('name' => 'John', 'email' => 'john@example.com'); $json_data = json_encode($data); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); // Set header Content-Type curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); // Eksekusi CURL $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, json_encode() digunakan untuk mengubah data yang akan dikirim menjadi JSON format. Kemudian, curl_setopt() digunakan untuk menentukan body data yang akan dikirim melalui permintaan POST dengan memberikan nilai $json_data. Selain itu, curl_setopt() juga digunakan untuk menentukan header Content-Type sebagai 'application/json'.
Kita dapat menyesuaikan data dan URL sesuai dengan kebutuhan Kita. Pastikan juga untuk menangani respons yang diterima dari server dengan benar setelah mengirimkan permintaan.
Menambahkan Cookie di setiap request
Jika Kita ingin menggunakan cookie untuk permintaan selanjutnya, Kita dapat menggunakan opsi CURLOPT_COOKIEJAR untuk menyimpan cookie dari server dan opsi CURLOPT_COOKIEFILE untuk membaca cookie yang disimpan sebelumnya. Berikut adalah contoh bagaimana cara menggunakan cookie dalam permintaan CURL di PHP:
<?php // Inisialisasi CURL $ch = curl_init(); // Set URL untuk login dan simpan cookie curl_setopt($ch, CURLOPT_URL, "http://example.com/api/login"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "username=myusername&password=mypassword"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); // Set URL untuk permintaan selanjutnya dengan cookie yang telah disimpan curl_setopt($ch, CURLOPT_URL, "http://example.com/api/data"); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); $result = curl_exec($ch); // Tangani hasil dan tutup CURL // ... curl_close($ch); ?>
Pada contoh di atas, curl_setopt() digunakan untuk mengatur opsi permintaan. Pertama, permintaan login disimpan di file cookie dengan menggunakan opsi CURLOPT_COOKIEJAR. Kemudian, permintaan selanjutnya menggunakan cookie yang telah disimpan sebelumnya dengan menggunakan opsi CURLOPT_COOKIEFILE.
Kita dapat menyesuaikan URL dan data sesuai dengan kebutuhan Kita. Pastikan juga untuk menangani respons yang diterima dari server dengan benar setelah mengirimkan permintaan.

Komentar
Posting Komentar