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 相关文章推荐
Content-type 的说明
Oct 09 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
main.php
Dec 09 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
php学习之简单计算器实现代码
Jun 09 PHP
php自定义session示例分享
Apr 22 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
smarty内置函数config_load用法实例
Jan 22 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
Feb 22 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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
Angular.js中$apply()和$digest()的深入理解
2016/10/13 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
ES6中Class类的静态方法实例小结
2017/10/28 Javascript
js动态引入的四种方法
2018/05/05 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
Python实现代码统计工具
2019/09/19 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
Python super()方法原理详解
2020/03/31 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
法学专业大学生实习自我鉴定
2014/10/05 职场文书
雷锋的故事观后感
2015/06/10 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
环保建议书范文
2015/09/14 职场文书
教你如何使用Python实现二叉树结构及三种遍历
2021/06/18 Python
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript