信息发布→ 登录 注册 退出

Swoole的CoroutineHttpClient怎么发送JSON数据

发布时间:2025-10-14

点击量:
使用 Swoole Coroutine\Http\Client 发送 JSON 数据需设置 Content-Type 为 application/json,并用 json_encode 将数组转为 JSON 字符串作为请求体,通过 post() 或 put() 方法发送,确保服务器正确解析。

使用 Swoole 的 Coroutine\Http\Client 发送 JSON 数据,关键在于正确设置请求头 Content-Typeapplication/json,并将 PHP 数组或对象编码为 JSON 字符串作为请求体。

基本用法:发送 JSON 数据(POST 请求)

以下是一个完整的协程客户端发送 JSON 数据的示例:

use Swoole\Coroutine\Http\Client;

go(function () {
    $client = new Client('127.0.0.1', 80);

    // 要发送的 PHP 数据
    $data = [
        'name' => 'Alice',
        'age'  => 25,
        'city' => 'Beijing'
    ];

    // 设置请求头
    $client->setHeaders([
        'Content-Type' => 'application/json',
        'User-Agent'   => 'Swoole-Coroutine-Client/1.0'
    ]);

    // 发起 POST 请求,第三个参数是请求体(JSON 格式)
    $client->post('/api/user', json_encode($data));

    // 获取响应
    echo $client->getBody();

    $client->close();
});

其他方法发送 JSON(PUT 请求)

如果你需要使用 PUT 方法发送 JSON 数据,方式类似:

$client->setHeaders([
    'Content-Type' => 'application/json'
]);

$client->put('/api/user/123', json_encode([
    'name' => 'Bob',
    'status' => 'active'
]));

关键点说明

  • 必须设置 Content-Type:服务器依赖此头部判断请求体格式,否则可能无法正确解析。
  • 使用 json_encode():将 PHP 数组或对象转为标准 JSON 字符串。
  • 支持的方法:post()、put()、patch() 都可以发送请求体,get() 和 delete() 一般不带 body。
  • 错误处理:可通过 $client->errCode 判断是否发生网络错误。
基本上就这些。只要注意头信息和数据格式,发送 JSON 很直接。
标签:# http  # 数据格式  # 判断是否  # 客户端  # 关键在于  # 不带  # 可通过  # 第三个  # 并将  # 如果你  # 是一个  # php  # 对象  # delete  # 字符串  # swoole  # app  # 编码  # go  # json  # js  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!