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 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
PHP正则验证Email的方法
Jun 15 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
Oct 06 PHP
PHP 的Opcache加速的使用方法
Dec 29 PHP
php探针不显示内存解决方法
Sep 17 PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 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的命名空间(二)
2018/02/21 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
Python Celery多队列配置代码实例
2019/11/22 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
python游戏开发的五个案例分享
2020/03/09 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
安全教育心得体会
2013/12/29 职场文书
寄语是什么意思
2014/04/10 职场文书
教代会闭幕词
2015/01/28 职场文书
护士医德考评自我评价
2015/03/03 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
Java版 简易五子棋小游戏
2022/05/04 Java/Android