In my experience the easiest way to connect to a RESTful service is using CURL. I am going to show you a short and simple example here.
So you have just received an e-mail from a client with details on a web service they need to connect to. The information might look something like this:
Web Service URL: http://www.mywebservice.com/superduperfunction.php
POST variables: EmailAddress, FirstName, LastName, APIKey
Your APIKey: Eie73k08@12k
With a little help from CURL, connecting to this web service will be a piece of cake:
// first we initialize an array and pre populate it with the // data we would like to post to the web service $postFields = array(); $postFields['EmailAddress'] = 'fredflinstone@hannabarbara.com'; $postFields['FirstName'] = 'Fred'; $postFields['LastName'] = 'Flinstone'; $postFields['APIKey'] = 'Eie73k08@12k'; // now we are going to loop through our array and create a // query string that we can actually post $varList = ''; foreach ($postFields as $myKey => $myVal) { $varList .= $myKey.'='.urlencode($myVal).'&'; } // strip the last & from the end of the query string $varList = substr($varList,0,-1); // now we initialize CURL, passing it the URL of the web service $ch = curl_init('http://www.mywebservice.com/superduperfunction.php'); // follow redirects curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); // dont return http headers curl_setopt($ch, CURLOPT_HEADER,0); // return the contents of the call curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // here we are telling CURL that we are using POST curl_setopt($ch, CURLOPT_POST,1); // now we load our query string curl_setopt($ch, CURLOPT_POSTFIELDS,$varList); // actually post the data and save the response to a variable $response_data = curl_exec($ch); // close our CURL instance curl_close($ch); // here you could do whatever you need to do with the // response from the web service
And there you have it ... Fred Flinstone is now a proud member of some neat new website, and all because you now know how to use CURL.