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

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 3114
Joined: 19/09/2018 10:33 am

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

Post by Ittichai_chupol » 25/10/2019 11:33 am

ผมต้องการใช้งานข้อมูล จาก 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()
?>    
จึงอยากทราบว่าควรปรับแก้ไขอย่างไรครับ

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10562
Joined: 18/04/2012 9:39 am

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

Post by tsukasaz » 25/10/2019 11:37 am

ลองเพิ่ม CURLOPT_SSL_VERIFYPEER => false ไปครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22526
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp » 25/10/2019 11:43 am

โดเมนที่ อัพไป มี ssl หรือเปล่า
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 3114
Joined: 19/09/2018 10:33 am

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

Post by Ittichai_chupol » 25/10/2019 11:43 am

ตอนนี้ปรับแก้ไขได้แล้ว ครับ ขอบคุณครับ

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

Post Reply

Return to “Programming - PHP”

Users browsing this forum: No registered users and 19 guests