中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Laravel中利用GuzzleHttp調用第三方服務API接口

發布時間:2021-03-23 16:17:59 來源:億速云 閱讀:532 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在Laravel中利用GuzzleHttp調用第三方服務API接口,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

引入安裝

在composer.json文件的“require”項中加入

"guzzlehttp/guzzle": "^6.3",

然后命令行執行composer install

在項目中的具體用法:

1、在項目某個地方,我選擇的是在app/Http/Services目錄下面新建一個APIHelper

<?php
namespace App\Http\Services;
 
class APIHelper
{
 
 public function post($body,$apiStr)
 {
  $client = new \GuzzleHttp\Client(['base_uri' => 'http://192.168.31.XX:xxx/api/']);
  $res = $client->request('POST', $apiStr,
   ['json' => $body,
   'headers' => [
    'Content-type'=> 'application/json',
//    'Cookie'=> 'XDEBUG_SESSION=PHPSTORM',
    "Accept"=>"application/json"]
  ]);
  $data = $res->getBody()->getContents();
 
  return $data;
 }
 
 public function get($apiStr,$header)
 {
  $client = new \GuzzleHttp\Client(['base_uri' => 'http://192.168.31.XX:xxx/api/']);
  $res = $client->request('GET', $apiStr,['headers' => $header]);
  $statusCode= $res->getStatusCode();
 
  $header= $res->getHeader('content-type');
 
  $data = $res->getBody();
 
  return $data;
 }
}

在項目中主要我用的是post方法,

'Cookie'=> 'XDEBUG_SESSION=PHPSTORM',

這一行加進去之后可以使用XDebug進行調試,但是在真正用起來的時候不需要在header里面加這一行了

如果是調用https接口,如果有證書問題,則加入這兩項'verify' => '/full/path/to/cert.pem','verify' => false,不驗證證書。

 public static function post_user($body,$apiStr)
 {  
  $client = new \GuzzleHttp\Client(['verify' => '/full/path/to/cert.pem','base_uri' => 'http://xxx.xxx.com/api/']);
  $res = $client->request('POST', $apiStr,
   ['verify' => false,
    'json' => $body,
    'headers' => [
     'Content-type'=> 'application/json']
   ]);
  $data = $res->getBody()->getContents();
 
  $response=json_decode($data);
 
  return $response;
 }

2、具體在Controller中使用

public function index(Request $request)
 {
  $data = $request->json()->all();
  $body = $data;
  $apiStr = '/api/xxx/list';
  $api = new APIHelper();
  $res =$api->post($body,$apiStr);
  $data = json_decode($res);
  $ret=new RetObject();
  $ret->retCode='0000';
  $ret->retMsg='Success';
  $ret->data=$data;
  return response()->json($ret);
 }

關于怎么在Laravel中利用GuzzleHttp調用第三方服務API接口就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利川市| 铁力市| 苗栗县| 芮城县| 商都县| 皋兰县| 图木舒克市| 邹城市| 突泉县| 亳州市| 海南省| 华亭县| 榆社县| 闸北区| 鲁山县| 林周县| 张北县| 溧阳市| 黄山市| 大田县| 莲花县| 左权县| 呼伦贝尔市| 永兴县| 上虞市| 宜春市| 昌黎县| 三河市| 临潭县| 永州市| 太仓市| 丹寨县| 开封县| 碌曲县| 云梦县| 石嘴山市| 柘城县| 芮城县| 徐闻县| 肥东县| 甘孜县|