Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Php curl

411 views

Published on

Short explanation about use of php-curl

Published in: Software
  • Be the first to comment

Php curl

  1. 1. Web Scraping with PHP/CURL Deddy Setyadi
  2. 2. Webbots file(‘http://www.google.com’)
  3. 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. 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.
  5. 5. libcurl (Library untuk curl) cURL Library curl (command line)
  6. 6. PHP/CURL Modul yang ada pada PHP, sehingga PHP bisa menggunakan fungsi-fungsi yang telah disediakan cURL.
  7. 7. Mengoperasikan PHP/CURL Inisiasi Sesi Pengaturan Eksekusi Menutup Sesi
  8. 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. 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. 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. 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. 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.
  13. 13. Eksekusi PHP/CURL Dengan menggunakan curl_exec(), maka PHP/CURL akan mengeksekusi seluruh opsi yang telah diatur dalam curl_setopt().
  14. 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().
  15. 15. Hasil dari curl_getinfo()
  16. 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. 17. Menutup Sesi PHP/CURL Ketika sudah selesai menggunakan PHP/CURL, maka sesegera mungkin untuk menutup sesi cURL ini dengan memanggil fungsi curl_close().
  18. 18. Demo
  19. 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.
  20. 20. Udah.

×