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 cookies中删除的一般赋值方法
May 07 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
PHP动态生成javascript文件的2个例子
Apr 11 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 PHP
php抽奖概率算法(刮刮卡,大转盘)
Apr 17 PHP
PHP中递归的实现实例详解
Nov 14 PHP
Laravel 自带的Auth验证登录方法
Sep 30 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 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 _autoload自动加载类与机制分析
2012/02/10 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
node中Express 动态设置端口的方法
2017/08/04 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
Python isinstance函数介绍
2015/04/14 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Python中关于浮点数的冷知识
2019/09/22 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
高中生职业生涯规划书
2014/02/24 职场文书
广告词串烧
2014/03/19 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
金陵十三钗观后感
2015/06/04 职场文书
图解上海144收音机
2021/04/22 无线电
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python