首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

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

描述

代码语言:javascript
复制
public bool EventHttpConnection::makeRequest (  EventHttpRequest $req  ,  int $type  ,  string $uri  )

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

参数

req

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

type

一个 EventHttpRequest :: CMD_ *常量。

uri

与请求相关联的URI。

返回值

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

例子

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

代码语言:javascript
复制
<?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();
?>

上面的例子会输出:

代码语言:javascript
复制
_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

扩展内容

  • EventHttpRequest :: addHeader() - 将HTTP头添加到请求的头部

← EventHttpConnection::getPeer

EventHttpConnection::setCloseCallback →

扫码关注腾讯云开发者

领取腾讯云代金券