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

search for in the

HttpRequest::setContentType> <HttpRequest::resetCookies
Last updated: Fri, 26 Feb 2010

view this page in

HttpRequest::send

(PECL pecl_http >= 0.10.0)

HttpRequest::sendSend request

Description

public HttpMessage HttpRequest::send ( void )

Send the HTTP request.

Note: 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.

Return Values

Returns the received response as HttpMessage object.

Errors/Exceptions

Throws HttpRuntimeException, HttpRequestException, HttpMalformedHeaderException, HttpEncodingException.

Examples

Example #1 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;
}
?>

Example #2 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;
}
?>



add a note add a note User Contributed Notes
HttpRequest::send
Lymber
19-Jan-2010 12:22
Example how to use HttpRequest to post data and receive the response:
<?php
//set up variables
$theData = '<?xml version="1.0"?>
<note>
    <to>php.net</to>
    <from>lymber</from>
    <heading>php http request</heading>
    <body>i love php!</body>
</note>'
;
$url = 'http://www.example.com';
$credentials = 'user@example.com:password';
$header_array = array('Expect' => '',
               
'From' => 'User A');
$ssl_array = array('version' => SSL_VERSION_SSLv3);
$options = array(headers => $header_array,
               
httpauth => $credentials,
               
httpauthtype => HTTP_AUTH_BASIC,
               
protocol => HTTP_VERSION_1_1,
               
ssl => $ssl_array);
               
//create the httprequest object               
$httpRequest_OBJ = new httpRequest($url, HTTP_METH_POST, $options);
//add the content type
$httpRequest_OBJ->setContentType = 'Content-Type: text/xml';
//add the raw post data
$httpRequest_OBJ->setRawPostData ($theData);
//send the http request
$result = $httpRequest_OBJ->send();
//print out the result
echo "<pre>"; print_r($result); echo "</pre>";
?>
mjs at beebo dot org
01-Apr-2009 08: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, 26 Feb 2010
 
 
show source | credits | sitemap | contact | advertising | mirror sites