91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在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

克拉玛依市| 杭锦后旗| 扶沟县| 邯郸市| 湖州市| 南城县| 柳河县| 苍溪县| 建阳市| 靖江市| 天津市| 乐业县| 偏关县| 丰都县| 衡东县| 故城县| 星子县| 长宁县| 宽城| 汪清县| 弋阳县| 剑阁县| 定结县| 志丹县| 图木舒克市| 兰西县| 淮北市| 锡林郭勒盟| 沭阳县| 科技| 吴川市| 内黄县| 赣州市| 长海县| 宜阳县| 行唐县| 阳山县| 开化县| 海盐县| 独山县| 大兴区|