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简单封装了一些常用JS操作
Feb 25 PHP
php INI配置文件的解析实现分析
Jan 04 PHP
初识Laravel
Oct 30 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
PHP中如何使用Redis接管文件存储Session详解
Nov 28 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 PHP
laravel model 两表联查示例
Oct 24 PHP
php测试kafka项目示例
Feb 06 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
关于文本留言本的分页代码
2006/10/09 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
微信支付扫码支付php版
2016/07/22 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
如何使用Javascript获取距今n天前的日期
2013/07/08 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
多个python文件调用logging模块报错误
2020/02/12 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
软件测试有哪些?什么是配置项?
2012/02/12 面试题
财务管理专业自荐信范文
2013/12/24 职场文书
大型会议策划方案
2014/05/17 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
五五普法心得体会
2014/09/04 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
销售员岗位职责范本
2015/04/11 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
Python中的套接字编程是什么?
2021/06/21 Python