Event EventHttpConnection::makeRequest
(PECL event >= 1.4.0-beta)
EventHttpConnection::makeRequest — 지정된 연결을 통해 HTTP 요청을 만듭니다.
설명
public EventHttpConnection::makeRequest( EventHttpRequest $req
, int $type
, string $uri
): bool
지정된 연결을 통해 HTTP 요청을 만듭니다. type
은 EventHttpRequest::CMD_*
상수 중 하나입니다.
매개변수
req
- 요청을 보낼 연결 개체입니다.
type
EventHttpRequest::CMD_*
constants 중 하나입니다.uri
- 요청과 연결된 URI입니다.
반환 값
성공하면 true
를, 실패하면 false
를 반환합니다.
Examples
예제 #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 헤더를 추가합니다.