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作的文本留言本的例子(一)
Oct 09 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
php生成RSS订阅的方法
Feb 13 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 PHP
TP5框架页面跳转样式操作示例
Apr 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高自定义性安全验证码代码
2011/11/27 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中的类学习笔记
2014/09/23 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
采购部部门职责
2013/12/15 职场文书
装修活动策划方案
2014/08/27 职场文书
2014年保卫工作总结
2014/12/05 职场文书
皇城相府导游词
2015/02/06 职场文书
单位推荐信范文
2015/03/27 职场文书
行政处罚事先告知书
2015/07/01 职场文书
生日祝酒词大全
2015/08/10 职场文书
Python中的变量与常量
2021/11/11 Python
nginx共享内存的机制详解
2022/03/21 Servers