Let’s say you need to consume an API, and you’re using Drupal. In this case, you’ll have to perform HTTP requests to a server, and I’m about to tell you how to do it for both Drupal 7 and Drupal 8.
Drupal 7
For Drupal 7, we’ll use the drupal_http_request method to get the job done
$url = 'https://someexternal server.com/api/some_resource';
$data = [ 'user' => $user;
'token' => $token
];
$options = [
'http' => [
'method' => 'POST',
'content' => http_build_query($data)
]
];
$response = drupal_http_request($url, $options);
Drupal 8
For Drupal 8 we’ll use the The Guzzle HTTP client, that has been added to the Core.
$url = 'https://someexternal server.com/api/some_resource';
$method = 'POST';
$options = [
'form_params' => [
'user' => $user,
'token' => $token
]
];
$client = \Drupal::httpClient();
$response = $client->request($method, $url, $options);
$code = $response->getStatusCode();
if ($code == 200) {
$body = $response->getBody()->getContents();
}
And voilá! If you have questions then let me know in the comments. If you need help with Drupal then give us a call!