不败君

前端萌新&初级后端攻城狮

使用Laravel发送HTTP请求第三方API

使用Laravel发送HTTP请求第三方API

2019-03-01 11:08:43

围观(14383)

日常开发微信公众号或者小程序经常需要向微信官方的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

版权声明 : 未经允许禁止转载!

评论:我要评论
发布评论:
Copyright © 不败君 粤ICP备18102917号-1

不败君

首 页 作 品 微 语