PHP Curl 2 ways to get HTTPS requests
This article mainly introduces the PHP curl to obtain HTTPS request 2 methods, this article gives to set to not verify the certificate and host, set a correct certificate two common practice code instance, need friend can refer to the following
A colleague today reflected that an error was reported when using curl to initiate an HTTPS request: "SSL certificate problem, verify that CA cert is OK." Details:error:14090086:ssl routines:SSL3_GET_SERVER_CERTIFICATE:certificate Verify Failed "
Obviously, there was a problem validating the certificate.
There are 2 ways to use curl if the HTTPS request you want to initiate is normal:
Method one, set to not verify the certificate and host.
Before executing curl_exec (). SET option
The code is as follows:
$ch = Curl_init ();
......
curl_setopt ($ch, Curlopt_ssl_verifypeer, FALSE);
curl_setopt ($ch, Curlopt_ssl_verifyhost, FALSE);
Method Two, set up a correct certificate.
The local SSL discriminant certificate is too old, causing the link to error the SSL certificate is incorrect.
We need to download a new SSL local discriminant file
Put it in the program file directory
Curl Add the following configuration
The code is as follows:
curl_setopt ($ch, curlopt_ssl_verifypeer,true);
curl_setopt ($ch, Curlopt_cainfo,dirname (__file__). /cacert.pem ');
Done
(I have failed to verify ...) The error message is: SSL certificate problem, verify this CA cert is OK. Details:error:14090086:ssl routines:SSL3_GET_SERVER_CERTIFICATE:certificate Verify failed)