Tutorial Mengambil Cookie dengan cURL dan PHP
Penggunaan cookie di setiap situs web sangat penting untuk menghemat sesi pengguna dalam jangka panjang. Sementara itu, cookie juga wajib dihapus di situs web. Misalnya dalam hal penggalian data yang membutuhkan proses autentikasi.
Penerimaan data cookie umumnya dapat dilakukan dengan mudah melalui browser, yaitu menggunakan fungsi periksa elemen. Namun, untuk proses otomatis, menggunakan cURL dan PHP jauh lebih efisien dan tidak memakan banyak waktu.
Sementara parsing biasanya lebih baik dan lebih cepat dengan Python, jika nanti data digunakan langsung di situs web, tentu saja ideal untuk menggunakan cURL dan PHP.
Pengumpulan data cookie di situs web menggunakan cURL dan PHP
Perintah cURL di sini dapat digunakan untuk mengunggah konten ke situs web, dan juga dapat digunakan secara langsung untuk menerima cookie dalam bentuk file. Tapi ada cara alternatif jika Anda ingin mengambil kue untuk membuatnya senar tanpa menggunakan file tambahan.
Menggunakan COOKIEFILE di cURL
Cara pertama adalah dengan menggunakan COOKIEFILE. Ini adalah atribut di cURL yang menyimpan cookie yang diterima ke file TXT. Cara menyebutnya seperti ini:
<?php $cookie = "cookie.txt"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://situstujuan"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); echo curl_exec($ch); curl_close($ch); ?>
Ketika diunduh, itu akan secara otomatis membuat file cookie.txt yang berisi data cookie yang diterima di situs web. File berada di direktori yang sama.
Adapun metode panggilan, Anda dapat menggunakan COOKIEJAR
ini contohnya:
<?php $cookie = "cookie.txt"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://situstujuan"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); echo curl_exec($ch); curl_close($ch); ?>
Mendapatkan cookie dengan preg_match_all()
Sementara itu, jika Anda perlu mendapatkan data cookie sebagai string, Anda dapat menggunakan perintah preg_match_all()
dan ini contohnya:
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://situstujuan"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); $hasil = curl_exec($ch); preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $hasil, $datacookie); echo $datacookie[1][0]; curl_close($ch); ?>
Dari contoh di atas, cookie diambil dari informasi header yang diterima di cURL menjadi string $datacookie
bentuk susunan. Silakan gunakan perintah print_r
atau var_dump
terhadap string untuk mengetahui semua data dalam array.
Lihat juga: Ekstensi Chrome untuk mengubah nilai cookie di situs web
Anda bisa memilih salah satu dari dua cara diatas sesuai kebutuhan, jika saya sendiri lebih sering menggunakan cara kedua karena menurut saya lebih praktis karena tidak perlu lagi membuat file hanya untuk menyimpan cookies. Dan jika Anda memiliki pertanyaan tentang panduan di atas, jangan ragu untuk menuliskannya di kolom komentar.
Semoga bermanfaat dan selamat mencoba