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

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

「 发送GET请求并接收响应 」


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

适用版本:Swoole 4.2.0及更高版本

函数描述:该函数用于发送GET请求并接收响应。它是基于协程的HTTP客户端,可以在协程环境中进行非阻塞的HTTP通信。

用法:

  1. 创建Swoole\Coroutine\Http\Client实例:

    $client = new Swoole\Coroutine\Http\Client('www.example.com', 80);
    
  2. 发送GET请求:

    $client->get('/path?param1=value1&param2=value2');
    
  3. 接收响应:

    $response = $client->body;
    $statusCode = $client->statusCode;
    $headers = $client->headers;
    
  4. 关闭连接:

    $client->close();
    

参数:

  1. host:请求的目标主机名或IP地址。
  2. port:目标主机的端口号。
  3. 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通信。

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