HttpRequest::send

Send request

&reftitle.description; public `HttpMessage` `HttpRequest::send`

Send the HTTP request.

While an exception may be thrown, the transfer could have succeeded at least partially, so you might want to check the return values of various `HttpRequest`::getResponse*() methods.

&reftitle.returnvalues;

Returns the received response as `HttpMessage` object.

&reftitle.errors;

Throws `HttpRuntimeException`, `HttpRequestException`, `HttpMalformedHeaderException`, `HttpEncodingException`.

&reftitle.examples;

### GET example

    <?php
    $r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
    $r->setOptions(array('lastmodified' => filemtime('local.rss')));
    $r->addQueryData(array('category' => 3));
    try {
        $r->send();
        if ($r->getResponseCode() == 200) {
            file_put_contents('local.rss', $r->getResponseBody());
        }
    } catch (HttpException $ex) {
        echo $ex;
    }
    ?>

### POST example

    <?php
    $r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
    $r->setOptions(array('cookies' => array('lang' => 'de')));
    $r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
    $r->addPostFile('image', 'profile.jpg', 'image/jpeg');
    try {
        echo $r->send()->getBody();
    } catch (HttpException $ex) {
        echo $ex;
    }
    ?>