Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
CURL tidak berfungsi pada web HTTPS
saya ingin membuat 1 fungsi jang digunakan untuk menampilkan halaman website pada localhost (web scraping), saya menggunakan library dari cURL. saat dicoba hasilnya terjadi error karena masalah certificate pada web HTTPS. mohon bantuannya, apa yang kurang dari fungsi yang saya buat? lalu apakah ada cara lain untuk scraping web yang menggunakan HTTPS/SSL ?
terima kasih.
kode :
function get_page($url)
{
$tmpfname = dirname(__FILE__).'/cookie.txt';
$options = array(
CURLOPT_RETURNTRANSFER => true, // to return web page
CURLOPT_FOLLOWLOCATION => TRUE ,
CURLOPT_URL => $url,
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
CURLOPT_TIMEOUT => 40,
CURLOPT_COOKIEJAR => $tmpfname,
CURLOPT_COOKIEFILE => $tmpfname,
//CURLOPT_SSLVERSION => 3,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_CAINFO => getcwd() . "/certificate.crt", //certificate dari web HTTPS yang diinclude
);
$handle = curl_init( $url );
$output['data'] = curl_exec($handle);
curl_setopt_array( $handle, $options );
//ob_start();
if(curl_exec($handle) === false) {
$output['error'] = 'Curl error: ' . curl_error($handle);
} else {
$output['error'] = 'Operation completed without any errors';
}
return $output;
//ob_end_clean();
curl_close($handle);
}
Error : <a href=' https://drive.google.com/open?id=1vQzXgLFDzQetHchRiimuPpz_XcsgdAPW '> https://drive.google.com/open?id=1vQzXgLFDzQetHchRiimuPpz_XcsgdAPW </a>
2 Jawaban:
Matikan ssl verify nya
$options = array(
CURLOPT_RETURNTRANSFER => true, // to return web page
CURLOPT_FOLLOWLOCATION => TRUE ,
CURLOPT_URL => $url,
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
CURLOPT_TIMEOUT => 40,
CURLOPT_COOKIEJAR => $tmpfname,
CURLOPT_COOKIEFILE => $tmpfname,
##Disable verify SSL##
CURLOPT_SSL_VERIFYHOST => 0, // or false
CURLOPT_SSL_VERIFYPEER => 0, // or false
);