EventHttpConnection::makeRequest
(PECL event >= 1.4.0-beta)
EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
説明
public
EventHttpConnection::makeRequest
(
EventHttpRequest
$req
,
int
$type
,
string
$uri
) : bool
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
.
例
例1 EventHttpConnection::makeRequest() example
<?phpfunction _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