函数名称:Swoole\Coroutine\Http\Client::get()
适用版本:Swoole 4.2.0及更高版本
函数描述:该函数用于发送GET请求并接收响应。它是基于协程的HTTP客户端,可以在协程环境中进行非阻塞的HTTP通信。
用法:
创建Swoole\Coroutine\Http\Client实例:
$client = new Swoole\Coroutine\Http\Client('www.example.com', 80);
发送GET请求:
$client->get('/path?param1=value1¶m2=value2');
接收响应:
$response = $client->body; $statusCode = $client->statusCode; $headers = $client->headers;
关闭连接:
$client->close();
参数:
- host:请求的目标主机名或IP地址。
- port:目标主机的端口号。
- timeout:超时时间,单位为秒,默认为0,表示不设置超时时间。
返回值:该函数没有返回值。
示例:
<?php
use Swoole\Coroutine\Http\Client;
function sendRequest()
{
$client = new Client('www.example.com', 80, 0.5);
$client->get('/api/data');
if ($client->statusCode === 200) {
echo $client->body;
} else {
echo 'Request failed with status code: ' . $client->statusCode;
}
$client->close();
}
// 在协程中发送GET请求
go(function () {
sendRequest();
});
以上示例中,我们创建了一个Swoole\Coroutine\Http\Client实例,然后发送一个GET请求到/api/data
路径。如果请求成功(状态码为200),则打印响应内容;否则,打印错误信息。最后,关闭连接。注意,我们在协程中调用了sendRequest()函数,以实现非阻塞的HTTP通信。