PHP的HTTP客户端Guzzle简单使用方法分析

作者:李维山 时间:2023-07-16 05:58:56 

本文实例讲述了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();
?>

【设置 * 】


<?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程序设计有所帮助。

来源:https://blog.csdn.net/msllws/article/details/83862462

标签:PHP,HTTP客户端,Guzzle
0
投稿

猜你喜欢

  • Python字符串函数strip()原理及用法详解

    2021-12-01 12:08:12
  • sql server中Select count(*)和Count(1)的区别和执行方式

    2024-01-23 11:47:39
  • js 实现拖拽排序详情

    2024-06-07 15:24:23
  • ASP + Serv-u 实现FTP的代码

    2009-02-02 09:52:00
  • django中静态文件配置static的方法

    2022-07-29 08:52:51
  • python里 super类的工作原理详解

    2022-06-13 23:54:14
  • Django-Rest-Framework 权限管理源码浅析(小结)

    2021-11-02 06:18:49
  • 关于代码阅读问题的小技巧 脚本之家原创(适合所有网站)不定时更新

    2024-01-04 14:57:42
  • mysql 查询数据库中的存储过程与函数的语句

    2024-01-26 17:30:35
  • JavaScript实现解析INI文件内容的方法

    2024-04-25 13:10:23
  • python实现整数序列求和

    2023-12-14 06:53:10
  • 通过作业调度建立SQL Server的自动备份

    2008-12-09 14:58:00
  • 浅谈怎么给Python添加类型标注

    2023-11-21 05:16:17
  • Python进阶多线程爬取网页项目实战

    2021-01-03 23:16:14
  • python time模块时间戳 与 结构化时间详解

    2021-04-09 11:06:42
  • javascript 缓冲效果实现代码 推荐

    2024-04-29 13:36:08
  • win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题

    2022-03-31 17:26:15
  • Python使用random模块生成随机数操作实例详解

    2022-06-28 21:50:27
  • 如何在pyqt中实现全局事件实战记录

    2023-07-01 02:25:46
  • 在SQL server2005数据库下创建计划任务

    2008-12-26 09:19:00
  • asp之家 网络编程 m.aspxhome.com