Introduction
Introduction – Introduction to HTTP_Request2
Package Overview
HTTP_Request2 package provides an easy way for PHP applications to perform HTTP requests. It supports a large subset of Hypertext Transfer Protocol features, and can be used for the following:
- Working with web services (numerous PEAR packages in Web Services category are using HTTP_Request2 under the hood);
- Checking the validity of web links;
- Grabbing and parsing remote web pages;
- Automated form submission.
Basic Usage Example
Performing a request with HTTP_Request2 consists of the following steps
- Creating, configuring and populating an instance of HTTP_Request2 class. At the very least you should set request URL and maybe proxy parameters (if you are using proxy).
- Calling send method of that instance. This will pass control to an Adapter that will send the request and read remote server's response. Request's progress may be monitored by Observers.
- Processing the returned instance of HTTP_Request2_Response. An instance of HTTP_Request2_Exception can also be thrown by send() if response could not be received (completely or at all) or parsed.
Fetches and displays PEAR website homepage
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2('http://pear.php.net/', HTTP_Request2::METHOD_GET);
try {
$response = $request->send();
if (200 == $response->getStatus()) {
echo $response->getBody();
} else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
} catch (HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>