函数名称:Swoole\Http\Client::execute()
适用版本:Swoole >= 4.3.0
函数说明:Swoole\Http\Client::execute()方法用于执行HTTP请求并返回响应结果。
用法:
$client = new Swoole\Http\Client('www.example.com', 80);
$client->set([
'timeout' => 1, // 设置超时时间,单位为秒
]);
// 发起GET请求
$client->execute('/path/to/api', function ($client) {
if ($client->statusCode === 200) {
echo $client->body;
} else {
echo 'Request failed with code: ' . $client->statusCode;
}
$client->close();
});
参数说明:
- 第一个参数是请求的路径,可以是相对路径或绝对路径。
- 第二个参数是回调函数,当请求完成时会调用该函数。回调函数参数$client是Swoole\Http\Client对象,可以在回调函数中获取响应结果。
返回值:无
示例解释:
- 创建一个Swoole\Http\Client对象,并设置超时时间为1秒。
- 调用execute()方法发起GET请求,传入请求路径和回调函数。
- 在回调函数中判断响应的状态码,如果为200则输出响应内容,否则输出错误信息。
- 最后关闭客户端连接。
注意事项:
- 在执行execute()方法前,需要先创建Swoole\Http\Client对象,并通过set()方法设置相关参数,如超时时间、请求头等。
- 回调函数是异步执行的,因此需要在回调函数中处理响应结果。
- 在回调函数中可以通过$client对象的属性来获取响应的各种信息,如状态码、响应头、响应体等。
- 完成请求后需要手动调用close()方法关闭客户端连接。
更多关于Swoole\Http\Client类和相关方法的详细信息,请参考Swoole官方文档:https://www.swoole.co.uk/docs/modules/swoole-http-client