Zend_Http_Client Inleiding Zend_Http_Client verstrekt een eenvoudige interface om HTTP verzoeken te maken. Zend_Http_Client kan GET, POST, PUT en DELETE verzoeken maken. Zend_HttpClient volgt standaard tot 5 HTTP verwijzingen. Om dit gedrag te veranderen geef je het maximum toegestane verwijzingen aan de get() methode op. Een basis GET verzoek maken get(); if ($response->isSuccessful()) { echo $response->getBody(); } else { echo '

Er trad een fout op

'; } } catch (Zend_Http_Client_Exception $e) { echo '

Er trad een fout op (' .$e->getMessage(). ')

'; } ?>]]>
Basis GET verzoeken met gespecificeerde HTTP Headers De Zend_Http_Client constructor maakt een Zend_Http_Client instantie om HTTP verzoeken te zenden. Als je Zend_Http_Client gebruikt op één enkele URL kan je in de meeste gevallen de URL en relevante headers aan de constructor geven, zoals in de volgende voorbeelden: Een Basis Zend_Http_Client maken ]]> Meerdere Headers sturen ]]> Als je Zend_Http_Client wenst te gebruiken om verzoeken aan meerdere URLs te sturen, zie dan Multidomein verzoeken Zend_Http_Client ondersteunt het sturen van verzoeken aan meerdere domeinen door het zetten van de URL via de methode Zend_Http_Client::setUri(). Een geweldig gebruik hiervoor is als je meerdere RSS feeds uitleest. Multidomein verzoek setUri('http://rss.slashdot.org/Slashdot/slashdot'); // De feed opvragen $slashdot = $http->get(); // Nu de BBC news feed instellen $http->setUri('http://newsrss.bbc.co.uk/rss/newsonline_world_edition/technology/rss.xml'); // de feed opvragen $bbc = $http->get(); ?>]]> De HTTP Timeout wijzigen Zend_Http_Client::setTimeout() laat je toe de timeout voor de HTTP verbinding te zetten, in seconden. De standaard timeout is 10 seconden. Dynamisch HTTP Headers zetten Je kan een array headers zetten met Zend_Http_Client::setHeaders(). Headers moeten het formaat volgen: POST, PUT en DELETE HTTP verzoeken maken Het maken van POST, PUT en DELETE HTTP verzoeken wordt vereenvoudigd in Zend_Http_Client door middel van drie methodes: post(), put(), en delete(), respectievelijk. De post() en put() methodes aanvaarden elk één string parameter, $data, waarin een string met de data correct ge-encodeerd zoals volgt: name=value&foo=bar. De delete() methode heeft geen parameters. POST data verzenden met Zend_Http_Client setUri('http://example.org/post/processor'); // De specifieke GET variabelen als HTTP POST data opslaan $postData = 'foo=' . urlencode($_GET['foo']) . '&bar=' . urlencode($_GET['bar']); // Het HTTP POST verzoek maken en het HTTP antwoord opslaan $httpResponse = $http->post($postData); ?>]]> Een PUT verzoek maken is hetzelfde als in het voorgaande voorbeeld om een POST verzoek te maken; je hoeft slechts de put() methode gebruiken in plaats van de post() methode.