【PHP】如何请求环信的接口

在请求一些接口直接使用的就是curl原生来请求的,今天我们就使用Guzzle来发起请求。

安装Guzzle

    ​安装Guzzle的方法,在之前文章有写过。直接在composer安装列表里边搜索Guzzle,然后按照文档进行安装

封装请求代码

    ​安装完之后就会在vendor目录

像这些请求都是放在base.PHP文件里边,作为基类

这两个事必须引入的,一个是http的客户端,一个是异常处理

那么下面这个request的方法就是用来请求环信的接口的方法

/**
     * author:咔咔
     *
     * 功能请求
     * @param $method
     * @param array $params
     * @param $options
     * @return array|mixed
     * @throws Error
     */
    protected function _request($method,$url,$params = [],$options = [])
    {
        $client = new Client();
        $header = [
            'Content-Type' => 'application/json','Accept'       => 'application/json',];
        $token                   = $this->getToken();
        $header['Authorization'] = "Bearer ${token}";
        $data = ['connect_timeout' => 30,'headers' => $header];
        if ($method == 'GET') {
            $data['query'] = $params;
        } else {
            $data['json'] = $params;
        }
        $options && $data = array_merge($data,$options);
        $body = [];
        try {
            $res = $client->request($method,$data);
            $body = \GuzzleHttp\json_decode($res->getBody()->getContents(),true);
        } catch (RequestException $e) {
            $info = \GuzzleHttp\json_decode($e->getResponse()->getBody()->getContents(),1);
            throw new Error($info['error'],-1);
        }
        return $body;
    }

在这方法中127行中,里边可以带一个参数也就是基础的请求url

baseUrl()这个方法就是一个基础的url拼成的

然后我们在看一下Guzzle的文档就可以很清晰的看到他的实现方式,就是这个baseUrl()就是一个基础的请求地址,然后根据我们传递的接口地址在拼接上基础地址就是直接发起请求

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...