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();
}
?>