Forum und email

HttpRequest::send

(PECL pecl_http:0.10.0-1.5.5)

HttpRequest::send — リクエストを送信する

説明

public HttpMessage HttpRequest::send ( void )

HTTP リクエストを送信します。

注意: 例外がスローされた場合でも、少なくとも部分的には転送に成功しているかもしれません。 そこで、さまざまな HttpRequest::getResponse*() メソッドを使用して 返り値を調べるようにしましょう。

返り値

受信したレスポンスを HttpMessage オブジェクトとして返します。

エラー / 例外

HttpRuntimeException、HttpRequestException、 HttpMalformedHeaderException、HttpEncodingException をスローします。

Example#1 GET example

<?php
$r 
= new HttpRequest('https://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;
}
?>

Example#2 POST example

<?php
$r 
= new HttpRequest('https://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;
}
?>