downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

HttpRequest::setContentType> <HttpRequest::resetCookies
Last updated: Fri, 14 Aug 2009

view this page in

HttpRequest::send

(PECL pecl_http >= 0.10.0)

HttpRequest::sendEnvoi une requête

Description

public HttpMessage HttpRequest::send ( void )

Envoi une requête HTTP.

Note: Bien qu'une exception peut avoir été lancée, le transfert peut avoir réussi, au moins, partiellement, vous devriez donc vérifier les valeurs retournées des différentes méthodes HttpRequest::getResponse*().

Valeurs de retour

Retourne la réponse reçue sous la forme d'un objet HttpMessage.

Erreurs / Exceptions

Lance une exception HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException ou HttpEncodingException.

Exemples

Exemple #1 Exemple GET

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

Exemple #2 Exemple POST

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



add a note add a note User Contributed Notes
HttpRequest::send
mjs at beebo dot org
02-Apr-2009 12:27
Note that send() does not process redirects, and there doesn't appear to any way to get this to happen automatically.  If you need to follow redirects, use something like the following code:

<?php
$request
= new HttpRequest($url, HTTP_METH_GET);
do {
   
$response = $request->send();
    if (
$response->getResponseCode() != 301 && $response->getResponseCode() != 302) break;
   
$request->setUrl($response->getHeader("Location"));
} while (
1);
?>

HttpRequest::setContentType> <HttpRequest::resetCookies
Last updated: Fri, 14 Aug 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites