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的简单使用

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java_简易画图板

    java_简易画图板下面我将分享用Java制作简易画图板的过程。version1Draw.javaJava代码importjavax.swing.JFrame;/****@authoryangzhenlin*

    2022年7月2日
    21
  • 查看redis版本命令_redis如何使用

    查看redis版本命令_redis如何使用Centos7查看redis版本redis安装成功后,查看redis版本命令:redis-server-V即可查看redis版本实际我们查看时都会遇到这个问题:redis-cli:commandnotfound(其实就和window电脑命令提示行中提示的:不是内部命令一个意思,配置环境变量即可使用)以上问题其实就是说明redis-server-V不是linux的全局命令,只需要我们做个软链接即可(类似于win电脑中的环境变量)软链接命令:ln-s/home/redis

    2022年10月8日
    2
  • “Word在试图打开文件时遇到错误。请尝试下列方法:* 检查文档或驱动器的文件权限。* 确保有足够的内存和磁盘空间。* 用文件恢复转换器打开文件。”问题!…[通俗易懂]

    “Word在试图打开文件时遇到错误。请尝试下列方法:* 检查文档或驱动器的文件权限。* 确保有足够的内存和磁盘空间。* 用文件恢复转换器打开文件。”问题!…[通俗易懂]Word在试图打开文件时遇到错误。请尝试下列方法:*检查文档或驱动器的文件权限。*确保有足够的内存和磁盘空间。*用文件恢复转换器打开文件。如下图:让同事在他们自己电脑上,都是可以打开的,就我的电脑不能打开,网上搜索了一系列方法,如改后缀名、用word工具修复、下载office补丁安装都不能解决。后面无意中找到的解决方法,与有类似经历…

    2022年5月13日
    131
  • 基于HTTP重定向的GSLB工作流程「建议收藏」

    基于HTTP重定向的GSLB工作流程「建议收藏」1.用户向网站的localdns请求域名解析2.localdns向用户返回GSLB设备的ip地址,如果GSLB系统本身有负载均衡,则返回的IP地址就是自身负载均衡后的某台设备的IP地址3.用户向这台GSLB设备发起GET请求,请求该网站的网页的内容.如果网页上有图片,文字,视频则会发起多个HTTP请求4.GSLB设备将综合分析用户ip,内容分布,设备负载,链路状况等实时…

    2022年5月6日
    68
  • 闫学灿acwing_用标号法求网络最大流

    闫学灿acwing_用标号法求网络最大流给定一个包含 n 个点 m 条边的有向图,并给定每条边的容量,边的容量非负。图中可能存在重边和自环。求从点 S 到点 T 的最大流。输入格式第一行包含四个整数 n,m,S,T。接下来 m 行,每行三个整数 u,v,c,表示从点 u 到点 v 存在一条有向边,容量为 c。点的编号从 1 到 n。输出格式输出点 S 到点 T 的最大流。如果从点 S 无法到达点 T 则输出 0。数据范围2≤n≤1000,1≤m≤10000,0≤c≤10000,S≠T输入样例:7 14 1 71 2

    2022年8月10日
    12
  • mysql数据库置疑_SQL数据库置疑 823 824 错误修复 无法附加处理

    mysql数据库置疑_SQL数据库置疑 823 824 错误修复 无法附加处理SQL数据库为什么会置疑?这个原因有很多,例如阵列崩溃导致数据库文件页面损坏,病毒破坏,分区损坏。断电非法关机等因素怎样防止数据库置疑?远程备份或者备份到本机另一块硬盘是最佳方式,平时要多注意预防病毒文件系统检查(chkdsk检测分区看看有无坏道或者文件系统问题)UPS电源检测没事的时候就行DBCCCHECKDB检测再小的故障都要立即解决,数据库不可以带故障运行。出现故障恢复方案?…

    2022年8月20日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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