函数名:Swoole\Http\Client::setData()
函数说明:该函数用于设置HTTP请求的body数据。
参数说明:
- $data:要发送的数据。可以是字符串、数组或对象。
返回值:无
使用示例:
// 创建Swoole Http Client对象
$client = new Swoole\Http\Client('www.example.com', 80);
// 设置请求的body数据为字符串
$client->setData('Hello World');
// 或者设置请求的body数据为数组
$data = [
'name' => 'John',
'age' => 25,
];
$client->setData($data);
// 或者设置请求的body数据为对象
$data = new stdClass();
$data->name = 'John';
$data->age = 25;
$client->setData($data);
// 发送HTTP POST请求
$client->post('/api/endpoint', function ($client) {
if ($client->statusCode === 200) {
echo $client->body;
} else {
echo 'Request failed with status code: ' . $client->statusCode;
}
});
// 关闭Http Client连接
$client->close();
注意事项:
- 在调用setData()函数之前,必须先调用connect()函数与服务器建立连接。
- setData()函数只对POST请求有效,对GET请求无效。
- 如果要发送JSON数据,可以先使用json_encode()函数将数组或对象转换为JSON字符串,然后调用setData()函数发送。例如:$client->setData(json_encode($data));
- 如果要发送文件,可以使用setData()函数设置文件路径。例如:$client->setData('/path/to/file.txt');
- setData()函数可以在发送请求之前多次调用,最终发送的数据将会合并。