先再laravel安装guzzle扩展包:composer require guzzlehttp/guzzle
之后再控制器操作:
use GuzzleHttp\Client;
//远程api数据的获取
$client = new Client(['base_uri'=>'api地址']); //如:
api地址: http://www.baidu.com
api地址后的路由: /openapi/customapi/api
$response = $client->request('POST','api地址后的路由',['body'=>json_encode($params)]); //传参数的键名为body,$params为请求api时的参数以json格式传送
$body = $response->getBody(); //获取到pai的数据
$body_result = json_decode($body,true); //将json格式的数据转为数组格式
//远程api数据的下载
$client = new Client(['base_uri'=>$base_uri]);
//['base_uri'=>$base_uri]中的$base_uri为要下载资源的地址
//$url_info['path']为要下载的资源路由 如:/openapi/customapi/api/1.jpg
$response = $client->request('get',$url_info['path'],['save_to'=>$path.$filename]); //保存数据,使用save_to 保存的文件路径和文件名$path.$filename(自定义)
if($response->getStatusCode() == 200){
return '下载成功';
}
guzzle还有很多可以操作,本人只是将自己遇到的问题记录一下
阿里云的oss不能用guzzle获取