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 SQLite类
May 07 PHP
php中常用字符串处理代码片段整理
Nov 07 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 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
php实现图片添加水印功能
2014/02/13 PHP
PHP合并静态文件详解
2014/11/14 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
原生javascript实现分页效果
2017/04/21 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
使用tensorflow实现AlexNet
2017/11/20 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
车贷收入证明范本
2014/01/09 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
五年级下册复习计划
2015/01/19 职场文书
创业计划书之酒店
2019/08/30 职场文书
React实现动效弹窗组件
2021/06/21 Javascript
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python
一文搞懂Redis中String数据类型
2022/04/03 Redis
Python OpenCV实现图像模板匹配详解
2022/04/07 Python