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 相关文章推荐
在数据量大(超过10万)的情况下
Jan 15 PHP
PHP实现多服务器session共享之NFS共享的方法
Mar 16 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
一个严格的PHP Session会话超时时间设置方法
Jun 10 PHP
PHP生成数组再传给js的方法
Aug 07 PHP
SESSION存放在数据库用法实例
Aug 08 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
php模板函数 正则实现代码
2012/10/15 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
javascript向flash swf文件传递参数值注意细节
2012/12/11 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
详解Python中的join()函数的用法
2015/04/07 Python
Python函数式编程
2017/07/20 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
logging level级别介绍
2020/02/21 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
小学生春游活动方案
2014/08/20 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
2016年春节慰问信息
2015/03/25 职场文书
2015年社区工作总结
2015/04/08 职场文书
教务处干事工作总结
2015/08/14 职场文书
golang import自定义包方式
2021/04/29 Golang
python中pandas对多列进行分组统计的实现
2021/06/18 Python