PHP的HTTP客户端:Guzzle的简单使用

PHP的HTTP客户端:Guzzle的简单使用

大家好,又见面了,我是全栈君。

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

PHP的HTTP客户端:Guzzle的简单使用

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

composer require guzzlehttp/guzzle

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

PHP的HTTP客户端:Guzzle的简单使用

在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();
?>

PHP的HTTP客户端:Guzzle的简单使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111932.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ClientScript.RegisterStartupScript

    ClientScript.RegisterStartupScriptClientScript.RegisterStartupScript用来向前台页面注册script脚本。//此处是从页面接受变量,然后弹出  stringmm=Request[“name”];  stringyhm=Request[“pswd”];   ClientScript.RegisterStartupScript(this.GetType(),”message”,”cri

  • document.all用法(一)

    document.all用法(一)1、理解document.all[]  从IE4开始IE的objectmodel才增加了document.all[],来看看document.all[]的Description:ArrayofallHTMLtagsinthedocument.Collectionofallelementscontainedbytheobject.  也就是说document.all

  • activity工作流引擎学习笔记1(初始)

    activity工作流引擎学习笔记1(初始)activiti工作流引擎学习笔记

  • 链式求导法则公式_链式法则求导基础题

    链式求导法则公式_链式法则求导基础题原题链接“计算图”(computational graph)是现代深度学习系统的基础执行引擎,提供了一种表示任意数学表达式的方法,例如用有向无环图表示的神经网络。 图中的节点表示基本操作或输入变量,边表示节点之间的中间值的依赖性。 例如,下图就是一个函数 ( 的计算图。现在给定一个计算图,请你根据所有输入变量计算函数值及其偏导数(即梯度)。 例如,给定输入,,上述计算图获得函数值 (;并且根据微分链式法则,上图得到的梯度 ∇。知道你已经把微积分忘了,所以这里只要求你处理几个简单的算子:加法、减法、乘

  • 傅里叶变换公式整理,意义和定义,概念及推导

    傅里叶变换公式整理,意义和定义,概念及推导看到论坛有一个朋友提问为什么傅里叶变换可以将时域变为频域?这个问题真是问到了灵魂深处。在这我只能简单讲讲我的理解,要深刻理解翻信号处理教科书是最好的方法。1.如何描述信号我们常常用数学模型去抽象物理事件。信号也可以用数学模型来表示。有了信号的数学模型,我们就可以利用数学计算对信号模型做各种各样的改变。如果加以计算机,模电,数电的相关知识,我们就可以将我们对信号模型的改变转换为对物理信…

  • Burp Suite安装配置详解(附Java 环境安装)

    Burp Suite安装配置详解(附Java 环境安装)BurpSuite安装配置详解1.Java安装与环境配置详解1.0下载JavaSDK1.8最新版2.0配置Java环境变量功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号