文字

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection::makeRequestMakes an HTTP request over the specified connection

说明

public bool EventHttpConnection::makeRequest ( EventHttpRequest $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

参见

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request
上一篇: 下一篇: