PHP cURL Requests with JSON or XML

The following post will explain how to use PHP/cURL to retrieve data in JSON or XML and process it for using in your PHP application

cURL is a command line tool that uses URL syntax to transfer data to and from servers. cURL is extremely flexible and can be used to transfer all sorts of data over various connections. In this example we'll be using a HTTP request over SSL with a key and host value sent in the headers.

$ch = curl_init();

First initialise your cURL request.

$optArray = array(
    CURLOPT_URL => 'https://example.com/api/getInfo/',
    CURLOPT_RETURNTRANSFER => true
);

Then set the request options, this request will load the contents of https://example.com/api/getInfo.

$headers = [
    "Access-Key: 123456789QWERTYUIOP",
    "Access-Token: ASDFGHJKL0987654321",
];

Then send the headers, in this instance the headers include two values "Access-Key" and "Access-Token" these will be used by example.com to verify the request is coming from the right source.

curl_setopt_array($ch, $optArray);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);

Next the options and headers are added to the cURL request, and the request is executed. The result of the request will be stored in $result.

If the value that is returned is in JSON format we'll need to convert it from JSON into a PHP object:

$processed = json_decode($result, true);

Alternatively, if it is in XML the following code can be used:

$processed = simplexml_load_string($result);

The $processed variable will now contain our PHP object, ready for processing.

Full Code

Ready to elevate your website?

Whether you're launching a new site, strengthening security, or adding a new feature, I can help transform your vision into a high-performing online presence.

Discuss your web development project

More Website Development posts

Structured data for SEO

Adding structured data to a website is one of those steps that often gets overlooked, yet it can make a real difference to how a site performs in search engines.…

Continue reading

Ensuring a smooth deployment of a PHP website application

Deploying a PHP website application requires meticulous planning, a solid understanding of the environment, and a thorough execution process. To ensure a smooth deployment, it is essential to follow best…

Continue reading

Knack API Integration

Knack is a powerful low-code platform that allows you to build online databases and custom web applications. When integrating Knack with your own systems or custom front ends, you can…

Continue reading

Popular PHP frameworks

Here’s detailed look at some of the most popular PHP frameworks, each of which can help speed up development, improve code organisation, and enhance application performance. Laravel Laravel is one…

Continue reading