PHP
事件 | Event

EventHttpConnection::makeRequest

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection :: makeRequest - 通过指定的连接发出HTTP请求

描述

public bool EventHttpConnection::makeRequest ( EventHttpRequest $req , int $type , string $uri )

通过指定的连接进行HTTP请求。typeEventHttpRequest :: CMD_ *常量之一。

参数

req

通过其发送请求的连接对象。

type

一个 EventHttpRequest :: CMD_ *常量。

uri

与请求相关联的URI。

返回值

成功则返回TRUE, 否则返回FALSE。

例子

示例#1 EventHttpConnection :: makeRequest()示例

<?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() - 将HTTP头添加到请求的头部

← EventHttpConnection::getPeer

EventHttpConnection::setCloseCallback →