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

使用 Swoole 的 CoroutineHttpClient 发送 JSON 数据,关键在于正确设置请求头 Content-Type 为 application/json,并将 PHP 数组或对象编码为 JSON 字符串作为请求体。
基本用法:发送 JSON 数据(POST 请求)
以下是一个完整的协程客户端发送 JSON 数据的示例:
use SwooleCoroutineHttpClient;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 很直接。
以上就是Swoole的CoroutineHttpClient怎么发送JSON数据的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/138150.html
微信扫一扫
支付宝扫一扫