2019-03-01 11:08:43
围观(17017)
日常开发微信公众号或者小程序经常需要向微信官方的API发起请求,如果是GET请求还好,一句代码能解决
file_get_contents()
但是碰上resultful风格的接口 就不仅仅是GET请求,还需要发起PUT/POST/DELETE请求。
当然Curl也能解决这些问题。Laravel自带了一个guzzlehttp也能轻易解决这些痛点(Laravel版本5.5以上亲测自带无需另外安装)。
使用方法:
首先需要在控制器顶部引入这个类
use GuzzleHttp;
然后在函数内new一个对象
$http = new GuzzleHttp\Client;
然后发起HTTP请求
$response = $http->post('Api url', [ 'form_params' => [ 'grant_type' => 'authorization_code', 'client_id' => 'client-id', . . . ], ]);
Api url为接口地址,参数放在form_params数组内。代码段中的竖向...为可写入更多参数的意思。
代码段发起的是POST请求 需要发起PUT/DELETE请求直接修改代码段中的POST即可。
如果需要发起GET请求 则需要将form_params改为query
如:
$response = $http->get('Api url', [ 'query' => [ 'grant_type' => 'authorization_code', 'client_id' => 'client-id', . . . ], ]);
最后需要获得返回的参数
$res = json_decode( $response->getBody(), true); return $res;
本文地址 : bubaijun.com/page.php?id=120
版权声明 : 未经允许禁止转载!
上一篇文章: 简单使用Laravel-admin构建一个功能强大的后台管理
下一篇文章: Laravel安装jwt-auth实现API认证