English | 简体中文 | 繁體中文
查询

Swoole\Coroutine\Http\Client::execute()函数—用法及示例

「 发起一个 HTTP 请求并等待响应 」


函数名称:Swoole\Coroutine\Http\Client::execute()

适用版本:Swoole >= 4.0.0

用法: execute() 方法用于发起一个 HTTP 请求并等待响应。它是 Swoole 协程 HTTP 客户端类的成员方法,用于与远程服务器进行通信。

以下是 execute() 方法的语法:

public bool Swoole\Coroutine\Http\Client::execute(string $path, callable $callback)

参数:

  • $path(必填):请求的路径,可以是绝对路径或相对路径。
  • $callback(必填):请求完成后的回调函数。

返回值:

  • 成功时返回 true,失败时返回 false。

示例:

<?php
use Swoole\Coroutine\Http\Client;

go(function () {
    $client = new Client('www.example.com', 80);
    $client->set(['timeout' => 1]);
    $client->execute('/api/user', function ($cli) {
        if ($cli->statusCode === 200) {
            echo $cli->body;
        } else {
            echo 'Request failed';
        }
    });
});

上述示例中,首先创建了一个 Swoole 协程 HTTP 客户端对象,指定了目标服务器的地址和端口。然后,通过 set() 方法设置了请求超时时间为 1 秒。

接下来,调用 execute() 方法发起了一个 HTTP 请求。传入的路径为 '/api/user',回调函数会在请求完成后被调用。回调函数中,我们可以根据响应的状态码来处理不同的情况。如果状态码为 200,则打印响应的内容;否则,打印请求失败的提示信息。

请注意,上述示例中的代码是在 Swoole 协程环境下执行的,需要确保已经正确配置并启动了 Swoole 服务器。

补充纠错
热门PHP函数
分享链接