Apa Itu Curl

resource curl_init([string url])
bool curl_setopt(resource curl_handle, string option, mixed value)
mixed curl_exec(resource curl_handle)
mixed curl_close(resource curl_handle)

Salam Koding!

Kali ini kita akan berkenalan dengan Curl. Curl adalah sebuah program yang memungkinan kita memindai data dari atau ke sebuah server tanpa interaksi dari masing-masing user.

Script awal yang akan kita coba adalah me-load sebuah halaman web, memindai kontennya, dan mencetak kembali. Langkah-langkah: 1. Inisialisasi Curl 2. Set URL halaman web yang akan kita load 3. Pindai dan cetak kembali konten 4. Tutup Curl

Bahasa pemrograman yang akan kita pakai dalam tutorial ini dalah PHP karena PHP memakai prinsip one-to-one mapping dimana satu aksi skrip bisa di eksekusi dalam satu baris. Contoh, dalam step 1. Inisialisai Curl bisa dibuat hanya dalam satu baris, $curl = curl_init(), dst...

Ada 4 fungsi utama yang akan kita gunakan: 1. curl_init(), untuk inisialisasi Curl library 2. curl_setopt(), untuk mengatur opsi-opsi Curl 3. curl_exec(), untuk mengeksekusi query Curl 4. curl_close(), untuk menghentikan Curl system

Selain 4 fungsi di atas ada beberapa fungsi lainnya yang bisa digunakan oleh Curl. Tapi untuk tutorial ini cukup kita pelajari yang diatas.

Fungsi curl_init() me-return request Curl. Di fungsi ini hanya ada satu opsi parameter. Jika kita memasang sebuah string sebagai parameter ke dalam cur_init(), ia otomatis akan mengenalnya sebagai URL request tadi. Untuk mengatur request itu, maka digunakan fungsi curl_setopt()

Fungsi curl_setop() memakai 3 parameter. Parameter pertama adalah untuk request URL, yang kedua opsi untuk request, dan yang ketiga value dari opsi tersebut. Ada sangat banyak opsi request yang bisa diatur contohnya, CURLOPT_URL, yang berfungsi untuk mengatur URL yang akan dipakai Curl.

Fungsi curl_exec() mengeksekusi resource script( URL yang telah di inisialisasi). Fungsi ini memakai 1 parameter dan mengembalikan (return) nilai dalam bentuk boolean, true/false.

Fungsi terakhir, curl_close() mengambil hanya satu parameter, resource script, menutupnya, dan mengosongkan aktivitas kerja script di memori.

Simple saja agar lebih memahaminya, kita langsung coba praktek dengan script awal Curl, menduplikat sebuah halaman web. Agar fungsinya reusable kita definisikan script utamanya sebagai sebuah fungsi yang punya 1 parameter dengan nama get_web_a_page($url); Fungsi ini akan me-return hasil eksekusi dari script Curl.

<?php
  function get_web_page( $url )
  {

          $options = array(
              CURLOPT_CUSTOMREQUEST  =>"GET",    // Atur type request, get atau post
              CURLOPT_POST           =>false,    // Atur menjadi GET
              CURLOPT_FOLLOWLOCATION => true,    // Follow redirect aktif
              CURLOPT_CONNECTTIMEOUT => 120,     // Atur koneksi timeout
              CURLOPT_TIMEOUT        => 120,     // Atur response timeout
          );

          $ch      = curl_init( $url );          // Inisialisasi Curl
          curl_setopt_array( $ch, $options );    // Set Opsi
          $content = curl_exec( $ch );           // Eksekusi Curl
          curl_close( $ch );                     // Stop atau tutup script

          $header['content'] = $content;
          return $header;
  }
?>

Sekarang kita bisa panggil fungsi di atas dan menambahkan sebuah url halaman web ke parameternya. Kemudian retrieve hasilnya dengan fungsi print_r atau sejenisnya.

<?php
$result = get_web_page('http://detik.com');
print_r($result);
?>

Jalankan scriptnya dan teman-teman sudah berhasil menduplikat sebuah halaman web!

Ditunggu tanggapan, kritik, dan sarannya :D

avatar newbieindonesian24
@newbieindonesian24

15 Kontribusi 19 Poin

Diperbarui 3 tahun yang lalu

15 Jawaban:

Gapaham sama sekali wkwkwkwkwk sory baru belajar cUrl :(

avatar GH0P3R
@GH0P3R

0 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

saya masih bingung di cUrl POST. mungkin sekalian di jelasin yg POST mas :D

avatar ardyhim
@ardyhim

289 Kontribusi 175 Poin

Dipost 8 tahun yang lalu

Alon-alon gan. Untuk get sendiri sebenarnya masih banyak yang bisa dilakuin :D Tapi menarik. Dengan post kita bisa mengirim parameter beserta valuenya ke server tujuan.

avatar newbieindonesian24
@newbieindonesian24

15 Kontribusi 19 Poin

Dipost 8 tahun yang lalu

wow wow wow

avatar superadmin
@superadmin

0 Kontribusi 0 Poin

Dipost 8 tahun yang lalu

ngerubah curl data yg disimpan ke file jadi ke db bisa?

avatar djatikusumaid
@djatikusumaid

1 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

sumpahh gak ngerti... gagal paham ane.. istilah simpelnya buat apaan gan ?

avatar kyoukunime
@kyoukunime

2 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

ane barusan nyoba gan kok muncul tulisan inih

<b>Fatal error: Call to undefined function curl_init() in C:\xampp\htdocs\licioustudio\coto\index.php on line 14</b>
avatar kyoukunime
@kyoukunime

2 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

gan kalau mau kayak gitu, masuk aplikasi apa yaa?. maaf saya baru

avatar Dank
@Dank

3 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

cara installnya gimana ya mas? untuk pengguna windows

avatar ariesto14
@ariesto14

42 Kontribusi 2 Poin

Dipost 7 tahun yang lalu

apakah 2 program yg sama tapi beda status,, misal S.I A1 (offline) dan S.I A2 (online) bisa saling sinkron mas?

avatar wahyu77
@wahyu77

26 Kontribusi 7 Poin

Dipost 7 tahun yang lalu

kurang lengkap penjelasannya buat yg awam mas hehe

seperti naro script nya dimana, nama filenya gimana, script 1 dan 2 dijadikan satu atau terpisah, cara eksekusi script tersebut gimana, pake lokal kah? pake server kah? butuh internet kah?

segitu aja dari ane hehe cmiiw

avatar januridp
@januridp

6 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

kak boleh tanya saya dapat error Call to undefined function curl_init(). padalah di php.ini juga udah. knapa ya??

avatar kr15
@kr15

14 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

Apa kebanyakan web AGC itu pake curl ini ya gan? Masih penasaran bakal sejauh mana curl ini bisa di manipulasi pake html

avatar Jalalda
@Jalalda

1 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

untuk scriptnya disimpan dimana ya?, saya memakai laravel

avatar Andicek
@Andicek

3 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

wow....keren.....saya sudah mencoba nya di local host.

avatar budi166
@budi166

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban