HttpRequest::send
(PECL pecl_http >= 0.10.0)
HttpRequest::send — Enviar petición
Descripción
Envía la petición HTTP.
Nota:
A pesar de que puede lanzarse una excepción, la transferencia podría haber tenido éxito al menos parcialmente, por lo que quizás desee comprobar los valores devueltos por varias llamadas al método HttpRequest::getResponse*().
Valores devueltos
Devuelve en forma de objeto HttpMessage la respuesta recibida.
Errores/Excepciones
Lanza HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException, HttpEncodingException.
Ejemplos
Ejemplo #1 ejemplo 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;
}
?>
Ejemplo #2 Ejemplo 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;
}
?>