Curl with PHP

in php.ini, uncomment

extension=curl

Some timese you may neet to download cacert.pem
which must be set

curl.cainfo = "C:\wamp64\bin\php\php7.4.9\extras\ssl\cacert.pem"

Test Code

<?php
error_reporting(-1);// report all errors
$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => "https://www.outsource-online.net/",
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS     => array(
        'field1' => 'some date',
        'field2' => 'some other data',
    )
);
curl_setopt_array($ch, $curlConfig);
//When accessing SSL sites, following options are to be set. Otherwise error below will happen
//SSL certificate problem: unable to get local issuer certificate
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);  
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
$result = curl_exec($ch);
if(curl_error($ch)) {
    //fwrite($fp, curl_error($ch));
    die(curl_error($ch));
}
curl_close($ch);
/*
// AUTH BASIC with curl
$ch = curl_init();  
$cOption = array(
    CURLOPT_URL            => 'http://velocity.freshdesk.com/contacts.xml',
    CURLOPT_HEADER         => 0,
    CURLOPT_USERPWD        => "$email:$password",
    CURLOPT_POST           => false,
    CURLOPT_HTTPHEADER     => array('Content-Type: application/xml'),
    CURLOPT_HTTPAUTH       => CURLAUTH_BASIC,
    CURLOPT_FAILONERROR    => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSLVERSION     => 2
);  
@curl_setopt_array( $ch, $cOption );
$result = curl_exec($ch);
if(curl_error($ch)) {
    //fwrite($fp, curl_error($ch));
    die(curl_error($ch));
}
//use curl_close() only in the end, otherwise following error will be shown
//Warning: curl_error(): supplied resource is not a valid cURL handle resource
curl_close($ch);
*/

echo "</pre>".print_r($result,true)."</pre>";
?>