Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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>

avatar sugaanaluam
@sugaanaluam

1 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

2 Jawaban:

nyimeng dlu, blm nyampe sana

avatar KepalaSekolah
@KepalaSekolah

82 Kontribusi 69 Poin

Dipost 7 tahun yang lalu

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
  );

avatar riyanxp
@riyanxp

70 Kontribusi 50 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban