如何在FatFreeFramework(f3)中通过Web组件POST方法发送JSON数据
F3 (FatFreeFramework) 发送JSON格式POST请求的实现方法
你可以直接使用F3内置的\Web类的request()方法实现和你给出的curl命令完全等价的效果,完整实现代码如下:
// 初始化Web实例 $web = \Web::instance(); // 构造业务请求数据 $payload = [ 'text' => 'Hello.', 'port' => [2, 3], 'param' => [ [ 'number' => '1', 'text_param' => ['Yes'] ] ] ]; // 发起POST请求 $apiResponse = $web->request('http://ip.com/api/send', [ 'method' => 'POST', 'header' => [ 'Content-Type: application/json', // 对应curl的-u参数,生成基础认证头 'Authorization: Basic ' . base64_encode('usr:pass') ], // 对应curl的-d参数,传入JSON格式的请求体 'content' => json_encode($payload) ]); // 读取接口返回内容 $returnBody = $apiResponse['body']; // 可通过$apiResponse['headers']获取响应头信息
参数对应说明
- 配置项
method指定请求类型为POST,匹配curl默认的POST请求逻辑 - 配置项
header数组传入请求头,其中Content-Type对应你curl命令里的-H "Content-Type:application/json"参数,Authorization头对应curl的-u usr:pass基础身份认证参数 - 配置项
content传入JSON序列化后的业务数据,完全等价于curl的-d参数传入的JSON内容
内容的提问来源于stack exchange,提问作者MiMo
相关产品推荐
相关产品推荐

