Php curl
-
Upload
deddy-setyadi -
Category
Software
-
view
45 -
download
3
Transcript of Php curl
Web Scraping with PHP/CURL
Deddy Setyadi
Webbots
file(‘http://www.google.com’)
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.
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.
libcurl (Library untuk curl)
cURL Library
curl(command line)
PHP/CURL
Modul yang ada pada PHP, sehingga PHP bisa
menggunakan fungsi-fungsi yang telah
disediakan cURL.
Mengoperasikan PHP/CURL
Inisiasi Sesi
Pengaturan
Eksekusi
Menutup Sesi
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.
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.
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.
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.
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.
Eksekusi PHP/CURL
Dengan menggunakan curl_exec(),
maka PHP/CURL akan mengeksekusi
seluruh opsi yang telah diatur dalam
curl_setopt().
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().
Hasil dari curl_getinfo()
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
Menutup Sesi PHP/CURL
Ketika sudah selesai menggunakan
PHP/CURL, maka sesegera mungkin
untuk menutup sesi cURL ini dengan
memanggil fungsi curl_close().
Demo
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.
Udah.