Page 1 of 1

วิธีการแก้ไขปัญหา SSL certificate problem: certificate has expired ในการใช้งาน API ใน php

Posted: 25/10/2019 11:33 am
by Ittichai_chupol
ผมต้องการใช้งานข้อมูล จาก API ของธนาคารเเห่งประเทศไทยสำหรับการตรวจสอบค่าการเเลกเปลี่ยนเงิน
โดยผมได้สมัครและนำ API มาทดสอบใช้งาน แต่พบปัญหาคือ

ปัญหาที่พบเจอ

Code: Select all

cURL Error #:SSL certificate problem: certificate has expired



code API ที่ใช้งาน

Code: Select all

<?php


$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://apigw1.bot.or.th/bot/public/Stat-ExchangeRate/v2/DAILY_AVG_EXG_RATE"
    . "/?start_period=2019-09-25&end_period=2019-09-25&currency=USD",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "x-ibm-client-id: cc37af94-61bd-426e-a1b0-fa0eb31ca0e4"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}


exit()
?>    
จึงอยากทราบว่าควรปรับแก้ไขอย่างไรครับ

Re: วิธีการแก้ไขปัญหา SSL certificate problem: certificate has expired ในการใช้งาน API ใน php

Posted: 25/10/2019 11:37 am
by tsukasaz
ลองเพิ่ม CURLOPT_SSL_VERIFYPEER => false ไปครับ

Re: วิธีการแก้ไขปัญหา SSL certificate problem: certificate has expired ในการใช้งาน API ใน php

Posted: 25/10/2019 11:43 am
by mindphp
โดเมนที่ อัพไป มี ssl หรือเปล่า

Re: วิธีการแก้ไขปัญหา SSL certificate problem: certificate has expired ในการใช้งาน API ใน php

Posted: 25/10/2019 11:43 am
by Ittichai_chupol
ตอนนี้ปรับแก้ไขได้แล้ว ครับ ขอบคุณครับ

Code: Select all

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://apigw1.bot.or.th/bot/public/Stat-ExchangeRate/v2/DAILY_AVG_EXG_RATE"
    . "/?start_period=2019-09-25&end_period=2019-09-25&currency=USD",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_HTTPHEADER => array(
    "x-ibm-client-id: cc37af94-61bd-426e-a1b0-fa0eb31ca0e4"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}