zoukankan      html  css  js  c++  java
  • PHP的HTTP客户端:Guzzle的简单使用

    首先来一段官方文档对Guzzle的介绍:

     然后cd到网站根目录,执行Composer命令下载Guzzle:(Linux环境)

    composer require guzzlehttp/guzzle
    

    下载完成后会生成一个vender文件夹:

    在vender同级目录新建了一个guzzle.php来写例子。

    【GET请求】

    <?php 
        require './vendor/autoload.php';
     
        //实例化客户端
        $client = new GuzzleHttp\Client();
     
        //构造url
        $url = 'https://www.baidu.com';
     
        //get请求
        $res = $client->request('GET', $url);
     
        //返回状态码
        echo $res->getStatusCode();
     
        //连贯操作
        //$res = $client->request('GET', $url)->getBody()->getContents();
     ?>
    

    【POST请求】

    <?php 
        require './vendor/autoload.php';
     
        //实例化客户端
        $client = new GuzzleHttp\Client(); 
     
        //构造url
        $url = 'https://www.baidu.com';
     
        //post请求
        $res = $client->request('POST', $url, [
            'form_params' => [
                'name'=>'lws',
                'sex'=>'nan'
            ]
        ]);
     
        //返回状态码
        echo $res->getStatusCode();
    ?>
    

    【POST文件上传】

    <?php 
        require './vendor/autoload.php';
     
        //实例化客户端
        $client = new GuzzleHttp\Client(); 
     
        //构造url
        $url = 'https://www.baidu.com';
     
        //post请求
        $res = $client->request('POST', $url, [
            'multipart' => [
                [
              'name'=>'name',
                    'contents'=>'lws'
                ],
                [
              'name'=>'sex',
                    'contents'=>'nan'
                ],
                [
              'name'=>'tupian',
                    'contents'=>file_get_contents('1.jpg'),
                    'filename'=>'lws.jpg'
                ]
            ]
        ]);
     
        //返回状态码
        echo $res->getStatusCode();
    ?>
    

    【设置代理IP】

    <?php 
        require './vendor/autoload.php';
     
        //实例化客户端
        $client = new GuzzleHttp\Client(); 
     
        //构造url
        $url = 'https://www.baidu.com';
     
        //设置代理请求
        $res = $client->request('GET', $url, [
            'proxy' => '111.22.33.44:6666'
        ]);
     
        //返回状态码
        echo $res->getStatusCode();
    ?>
    

    【模拟请求头】

    <?php 
        require './vendor/autoload.php';
     
        //实例化客户端
        $client = new GuzzleHttp\Client(['headers'=>['referer'=>'https://www.baidu,com']]); 
     
        //构造url
        $url = 'https://www.baidu.com';
     
        //设置代理请求
        $res = $client->request('GET', $url);
     
        //返回状态码
        echo $res->getStatusCode();
    ?>
    

    【记录Cookie】

    <?php 
        require './vendor/autoload.php';
     
        //实例化客户端
        $client = new GuzzleHttp\Client(['cookie'=>true]); 
     
        //构造url
        $url = 'https://www.baidu.com';
     
        //设置代理请求
        $res = $client->request('GET', $url);
     
        //返回状态码
        echo $res->getStatusCode();
    ?>
    

  • 相关阅读:
    用Python完成一个汇率转换器
    鸿蒙如何用JS开发智能手表App
    鸿蒙如何用JS开发智能手表App
    SAP Spartacus SplitViewComponent Migration 的一个具体例子
    SAP Spartacus B2B 页面 Popover Component 的条件显示逻辑
    SAP Spartacus 升级时关于 schematics 的更新
    SAP Spartacus B2B 页面 Disable 按钮的显示原理
    SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理
    通过 Feature Level 动态控制 SAP Spartacus 的页面显示
    SAP Commerce Cloud Build Manifest Components
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15452970.html
Copyright © 2011-2022 走看看