3. Seiring berkembangnya teknologi, fungsi pada php seperti file(), fopen(),
fgets(), tidak mampu menangani form submission, authentication, redirection,
dsb. Kemudian, dikembangkanlah sebuah library yang dinamakan cURL.
4. cURL Library
cURL library merupakan alat untuk melakukan transfer file dari webserver
ke remote komputer. Library yang mendukung berbagai macam internet
protokol ini mudah untuk dikonfigurasi, dan melayani berbagai macam
interaksi antara client-server.
8. Inisiasi Sesi PHP/CURL
Sebelum menggunakan PHP/CURL,
inisiasi dulu dengan curl_init(), atau
curl_multi_init() jika URL lebih dari
satu, yang kemudian disimpan dalam
sebuah variabel.
9. Pengaturan PHP/CURL
Fungsi untuk mengkonfigurasi PHP/CURL
adalah curl_setopt(), atau
curl_setopt_array(), yang digunakan
untuk mengutak-atik sesi cURL dengan
berbagai opsi yang telah disediakan libcurl.
10. Boolean value
• CURLOPT_CONNECT_ONLY – Tidak ada data yang ditransfer
• CURLOPT_FILETIME – Dapat mengetahui tanggal modifikasi dokumen
• CURLOPT_HEADER – Header juga ikut ditransfer
• CURLOPT_POST – Untuk melakukan method POST
• CURLOPT_RETURNTRANSFER – Mengembalikan transfer sebagai string
• CURLOPT_SSL_VERIFYPEER – Jika target memiliki enkripsi SSL & HTTPS
• CURLOPT_FOLLOWLOCATION – Mengikuti redirect dari URL yang dituju.
11. Integer value
• CURLOPT_CONNECTTIMEOUT – Waktu tunggu saat menyambungkan ke URL.
• CURLOPT_RESUME_FROM – untuk melanjutkan sebuah transfer.
• CURLOPT_TIMEOUT – Batasan waktu untuk eksekusi cURL.
• CURLOPT_MAXREDIRS – Batasan maksimal redirect yang diperbolehkan.
12. String value
• CURLOPT_URL – URL yang akan diambil
• CURLOPT_USERAGENT – Konten “ User-Agent: ” header dalam HTTP request.
• CURLOPT_POSTFIELDS – data untuk setiap field dalam method POST
• CURLOPT_COOKIEJAR – File untuk menyimpan cookie saat sesi sudah ditutup.
• CURLOPT_REFERER - Konten “ Referer: ” header dalam HTTP request.
14. Informasi dari Sesi PHP/CURL
Setiap sebuah curl_exec() dipanggil,
maka informasi pada saat sesi dieksekusi
juga tersedia. Untuk mengetahui informasi
tersebut, gunakan fungsi curl_getinfo().
16. Menampilkan error dari Sesi PHP/CURL
Untuk menampilkan error, maka dapat memanggil fungsi
curl_error(). Fungsi ini akan menampilkan pesan error
untuk operasi PHP/CURL yang terakhir kali dijalankan.
Untuk lebih jelas mengenai pesan error yang dihasilkan
cURL, bisa membuka http://curl.haxx.se/libcurl/c/libcurl-
errors.html
17. Menutup Sesi PHP/CURL
Ketika sudah selesai menggunakan
PHP/CURL, maka sesegera mungkin untuk
menutup sesi cURL ini dengan memanggil
fungsi curl_close().
19. Referensi
• http://php.net/manual/en/ref.curl.php
• http://etelej.github.io/how-to-use-php-curl-basics/
• http://www.slideshare.net/teenmaxinfo/curl-php-bookv32
• Schrenk, Michael. 2012. Webbots, spiders, and screen scrapers : a guide to developing
internet agents with PHP/CURL. No Starch Press, Inc. Diakses 10 januari 2015, dari
libgen.info.
• Ward, Jacob. 2013. Instant PHP Web Scraping. Packt Publishing Ltd. Diakses 15 Januari
2015, dari libgen.info.