登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Programming
  3. Laravel
  4. 正文

Laravel请求转发至第三方url-日常笔记

2017-09-05

需求:为了用mock自动生成的api做测试,且避免跨域问题,所以采取的策略是laravel将请求的api url做一次转发,转发至mock服务器。

一、插件

GuzzleHttp

安装方法

composer require guzzlehttp/guzzle:~6.0

二、使用方法

use GuzzleHttp\Client;
class yourController extends Controller {

    public function saveApiData()
    {
        $client = new Client();
        $res = $client->request('POST', 'https://url_to_the_api', [
            'form_params' => [
                'client_id' => 'test_id',
                'secret' => 'test_secret',
            ]
        ]);
        echo $res->getStatusCode();
        // "200"
        echo $res->getHeader('content-type');
        // 'application/json; charset=utf8'
        echo $res->getBody();
        // {"type":"User"...'
}

三、实例测试

Route::get('{path}',function ($path,Request $request) {
            $client = new GuzzleHttp\Client();
            $url = "http://apitest.work.tianheng-uestc.com/mock/59acc125236ef903579a282c/".$path;
            $res = $client->request('GET',$url);
            // echo $res->getStatusCode();
            // "200"
            // 'application/json; charset=utf8'
           // echo $url;
           // echo $res->getBody();
            return response()->json(json_decode($res->getBody()));
            return ;

        })->where('path', '.+');

 

-

标签: 暂无
最后更新:2017-09-05

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号