Saya ingin membuat fungsi untuk menampilkan halaman getToken dengan url dari BKN dengan memasukkan beberapa parameter. Saya menggunakan library dari cURL. Saat di jalankan hasilnya error dikarenakan masalah certificate pada web HTTPS.
Beberapa kali di coba untuk dijalankan, namun tetap saja tidak berhasil. Kemudian saya mencoba browsing untuk mencari solusi dari permasalahan yang saya alami. Dan alhamdulillah solusi ditemukan, yaitu dengan mematikan (disable/false) Verifikasi SSL nya.
Sebagai contoh :
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => TRUE ,
CURLOPT_URL => $url,
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
CURLOPT_TIMEOUT => 40,
CURLOPT_COOKIEJAR => $tmpfname,
CURLOPT_COOKIEFILE => $tmpfname,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
);
Jika merujuk pada fungsi yang saya buat, maka akan tampak kode program sebagai berikut :
<?php
$username ='??????';
$password ='??????';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://url......',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'grant_type=client_credentials',
##Disable verify SSL##
CURLOPT_SSL_VERIFYHOST => 0, // or false
CURLOPT_SSL_VERIFYPEER => 0, // or false
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Basic ??????',
'Cookie: pdns=1091068938.58148.0000'
),
));
$response = curl_exec($curl);
curl_close($curl);
// echo $response;
$jsonp= json_decode($response,1);
$token =$jsonp["access_token"];// kode Provider peserta, bukan kdPPK
echo $token;
?>
Alhamdulillah token bisa tampil...
sumber : https://app.sko.dev/post/curl-tidak-berfungsi-pada-web-https