©
This document uses PHP Chinese website manual Release
(PECL event >= 1.4.0-beta)
EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
$req
, int $type
, string $uri
)
Makes an HTTP request over the specified connection.
type
is one of
EventHttpRequest::CMD_*
constants.
req
The connection object over which to send the request.
type
One of EventHttpRequest::CMD_* constants .
uri
The URI associated with the request.
Returns TRUE
on success. Otherwise FALSE
.
Example #1 EventHttpConnection::makeRequest() example
<?php
function _request_handler ( $req , $base ) {
echo __FUNCTION__ , PHP_EOL ;
if ( is_null ( $req )) {
echo "Timed out\n" ;
} else {
$response_code = $req -> getResponseCode ();
if ( $response_code == 0 ) {
echo "Connection refused\n" ;
} elseif ( $response_code != 200 ) {
echo "Unexpected response: $response_code \n" ;
} else {
echo "Success: $response_code \n" ;
$buf = $req -> getInputBuffer ();
echo "Body:\n" ;
while ( $s = $buf -> readLine ( EventBuffer :: EOL_ANY )) {
echo $s , PHP_EOL ;
}
}
}
$base -> exit ( NULL );
}
$address = "127.0.0.1" ;
$port = 80 ;
$base = new EventBase ();
$conn = new EventHttpConnection ( $base , NULL , $address , $port );
$conn -> setTimeout ( 5 );
$req = new EventHttpRequest ( "_request_handler" , $base );
$req -> addHeader ( "Host" , $address , EventHttpRequest :: OUTPUT_HEADER );
$req -> addHeader ( "Content-Length" , "0" , EventHttpRequest :: OUTPUT_HEADER );
$conn -> makeRequest ( $req , EventHttpRequest :: CMD_GET , "/index.cphp" );
$base -> loop ();
?>
以上例程的输出类似于:
_request_handler Success: 200 Body: PHP, date: 2013-03-13T20:27:52+05:00