Skip to content

Instantly share code, notes, and snippets.

@humbertoroa
Last active December 16, 2015 18:09
Show Gist options
  • Save humbertoroa/5476197 to your computer and use it in GitHub Desktop.
Save humbertoroa/5476197 to your computer and use it in GitHub Desktop.
Functions to use curl make server side GET and POST requests with SSL and PHP. You can get CA bundle file in PEM format from: http://curl.haxx.se/docs/caextract.html.
function doPost($url, $parameters = array(), $headers = array()){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_CAINFO, realpath("../certs/cacert.pem"));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function doGet($url, $parameters = array(), $headers = array()){
if(sizeof($parameters) > 0){
$url = $url . "?" . http_build_query($parameters);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CAINFO, realpath("../certs/cacert.pem"));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment