函数名称: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 服务器。