Skip to content

Instantly share code, notes, and snippets.

@odixon
Forked from joashp/make_api_calls_php.php
Created January 16, 2018 17:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save odixon/57e90c9eea134793b2386c310fa68c47 to your computer and use it in GitHub Desktop.
Save odixon/57e90c9eea134793b2386c310fa68c47 to your computer and use it in GitHub Desktop.
Make API Calls in PHP
<?php
function CallAPI($method, $url, $data = false) {
$curl = curl_init();
switch ($method)
{
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_PUT, 1);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
// Optional Authentication:
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "username:password");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
// Get request
$get_response = CallAPI('GET', 'http://example.com');
echo $get_response;
// Post request
$data = array();
$data['name'] = 'joashp';
$data['email'] = 'joashp@example.com';
$post_response = CallAPI('POST', 'http://example.com', $data);
echo $post_response;
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment