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


Posted in PHP onOctober 30, 2019

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
PHP自动生成月历代码
Oct 09 PHP
某大型网络公司应聘时的笔试题目附答案
Mar 27 PHP
php split汉字
Jun 05 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
PHP生成指定随机字符串的简单实现方法
Apr 01 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 #PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 #PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 #PHP
php上传后台无法收到数据解决方法
Oct 28 #PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 #PHP
PHP接入微信H5支付的方法示例
Oct 28 #PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 #PHP
You might like
根德YB400的电路分析
2021/03/02 无线电
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
浅谈php://filter的妙用
2019/03/05 PHP
Javascript中的相等与不等运算
2010/04/25 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
js实现水平滚动菜单导航
2017/07/21 Javascript
Python中序列的修改、散列与切片详解
2017/08/27 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
Python实现Event回调机制的方法
2019/02/13 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
如何进行Linux分区优化
2016/09/13 面试题
优秀研究生自我鉴定
2013/12/04 职场文书
某同学的自我鉴定范文
2013/12/26 职场文书
自我介绍演讲稿
2014/01/15 职场文书
500字小学生检讨书
2015/02/19 职场文书
家装电话营销开场白
2015/05/29 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
公司员工奖惩制度
2015/08/04 职场文书
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫