【TP5】安裝Guzzle并簡單使用

      網友投稿 1132 2025-03-31

      Guzzle是一個PHP的HTTP客戶端,用來輕而易舉地發送請求,并集成到我們的WEB服務上。

      安裝

      看到文檔的安裝方式會不知道怎么弄,因為composer安裝列表沒有下載方式

      (1)打開項目的composer.json文件,添加GuzzleHttp這個安裝包

      (2)執行composer update

      (3)然后項目就有了

      使用GuzzleHttp

      (1)引入

      (2)請求代碼

      (3)發起請求,這就是簡單的使用

      源碼

      base.php文件

      namespace app\huanxin\controller;

      use think\config;

      use think\Controller;

      use GuzzleHttp\Client;

      use GuzzleHttp\Exception\RequestException;

      class Base extends Controller

      {

      protected $orgname;

      protected $appname;

      protected $client_ID;

      protected $client_Secret;

      protected $request_url;

      public function __construct()

      {

      $this->orgname = config::get('orgname');

      $this->appname = config::get('appname');

      $this->client_ID = config::get('client_ID');

      $this->client_Secret = config::get('client_Secret');

      $this->request_url = 'https://a1.easemob.com/';

      }

      /**

      * author:咔咔

      *

      * 基礎請求地址

      * @return string

      */

      public function baseUrl()

      {

      return $this->request_url . $this->orgname . '/' . $this->appname . '/';

      }

      /**

      * 發送請求

      * @param $method 請求方式

      * @param array $params 請求參數

      * @param $options

      * @return array|mixed

      * @throws Error

      */

      public function request($method, $url, $params = [], $options = [])

      {

      $config = ['base_uri' => $this->baseUrl()];

      $client = new Client($config);

      $header = [

      'Content-Type' => 'application/json',

      'Accept' => 'application/json',

      ];

      $data = ['connect_timeout' => 30, 'headers' => $header];

      if ($method == 'GET') {

      【TP5】安裝Guzzle并簡單使用

      $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(), 1);

      } catch (RequestException $e) {

      throw new Error($e->getMessage(), -1);

      }

      return $body;

      }

      /**

      * author:咔咔

      *

      * 獲取token

      * @throws Error

      */

      public function getTokenFromServer()

      {

      $data = [

      'grant_type' => 'client_credentials',

      'client_id' => $this->client_ID ,

      'client_secret' => $this->client_Secret

      ];

      $result = $this->request('POST', 'token', $data);

      return $result;

      }

      }

      error.php文件

      namespace app\huanxin\controller;

      use Exception;

      class Error extends \Exception

      {

      public function __construct($message = "", $code = 0, Exception $previous = null)

      {

      parent::__construct($this->_getMessage($message), $code, $previous);

      }

      // TODO 異常信息過濾

      private function _getMessage($msg)

      {

      $message = $msg;

      return $message;

      }

      }

      index.php文件

      namespace app\huanxin\controller;

      use think\config;

      class Index extends Base

      {

      public function index()

      {

      $data = $this->getTokenFromServer();

      dump($data);die;

      }

      }

      項目目錄

      PHP

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS演示文稿中設置背景圖片的方法
      下一篇:如何確定您的制造ERP軟件是否失敗
      相關文章
      亚洲女子高潮不断爆白浆| 亚洲日本国产综合高清| 亚洲一卡2卡3卡4卡5卡6卡 | 亚洲国产成人久久笫一页| 亚洲精品无码少妇30P| 亚洲国产乱码最新视频| 亚洲精品伊人久久久久| 亚洲制服丝袜第一页| 亚洲一区二区三区深夜天堂| 亚洲免费福利视频| 亚洲一区二区三区精品视频| youjizz亚洲| 亚洲性色AV日韩在线观看| 亚洲午夜精品一区二区麻豆| 中文有码亚洲制服av片| 亚洲真人无码永久在线观看| 亚洲精品无码少妇30P| 亚洲av成本人无码网站| 亚洲AV无码乱码在线观看性色扶| 亚洲毛片av日韩av无码| 国产亚洲人成网站在线观看| 中文字幕亚洲不卡在线亚瑟| 国产亚洲午夜高清国产拍精品| 国产成人亚洲精品狼色在线| 国产亚洲精品xxx| 亚洲Av永久无码精品三区在线| 久久久久亚洲精品无码系列| 久久综合亚洲鲁鲁五月天| 亚洲一区二区三区免费视频| 亚洲一线产区二线产区区| 亚洲日韩在线中文字幕综合| 亚洲国产综合精品一区在线播放| 久久久久亚洲精品中文字幕 | 自拍偷区亚洲国内自拍| 成人婷婷网色偷偷亚洲男人的天堂| 国产亚洲综合视频| 亚洲中文字幕丝袜制服一区| 久久国产亚洲精品麻豆| 亚洲视频在线免费播放| 国产成人精品亚洲2020| 亚洲AV无码一区二区三区网址|