【PHP】如何請求環信的接口

 

在請求一些接口直接使用的就是curl原生來請求的,今天咱們就使用Guzzle來發起請求。php

安裝Guzzle

    ​安裝Guzzle的方法,在以前文章有寫過。直接在composer安裝列表裏邊搜索Guzzle,而後按照文檔進行安裝json

封裝請求代碼

    ​安裝完以後就會在vendor目錄app

 

像這些請求都是放在base.php的文件裏邊,做爲基類composer

這兩個事必須引入的,一個是http的客戶端,一個是異常處理curl

 

那麼下面這個request的方法就是用來請求環信的接口的方法this

 

/**
     * 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, $url, $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行中,裏邊能夠帶一個參數也就是基礎的請求urlurl

baseUrl()這個方法就是一個基礎的url拼成的code

 

而後咱們在看一下Guzzle的文檔就能夠很清晰的看到他的實現方式,就是這個baseUrl()就是一個基礎的請求地址,而後根據咱們傳遞的接口地址在拼接上基礎地址就是直接發起請求token

相關文章
相關標籤/搜索