2024 年日本 PHP 研討會

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection::makeRequest透過指定的連線發出 HTTP 請求

說明

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

透過指定的連線發出 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

參見

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top