为什么要使用Guzzle?

首先,Guzzle是HTTP请求的抽象层,尽管默认情况下它使用cURL,但是您可以使用所需的任何其他HTTP客户端:

Guzzle是否需要cURL?

不行。Guzzle可以使用任何HTTP处理程序来发送请求。 这意味着   Guzzle可以与cURL,PHP的流包装器,套接字和   像React这样的非阻塞库 您只需要配置一个HTTP   处理程序以使用其他发送请求的方法

注意:Guzzle历来仅使用cURL发送HTTP请求。   cURL是一个了不起的HTTP客户端(可以说是最好的),而Guzzle会   可用时,默认情况下继续使用它。 很少,但是   一些开发人员没有在他们的系统上安装cURL或遇到   版本特定的问题。 通过允许可交换的HTTP处理程序,Guzzle   现在更加可定制,并且能够适应满足以下需求   更多的开发人员。

由于您正在使用Laravel,因此,如果有机会使用任何电子邮件API,那么现在您已经安装了Guzzle。 在Laravel的composer.json文件中,您可以看到一个建议:

"suggest": {

...

"guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).",

...

}

另一个原因将是重用代码,看看bogdan的注释中用cURL进行简单http请求所需的代码量。 使用Guzzle可以更加简单,简洁,可读性和可重用性。 创建封装您的Http请求的服务非常容易。

Guzzle还允许您以与使用Promise处理JavaScript的非常相似的方式执行异步请求。

最后但并非最不重要的一点是测试! 与使用cURL相比,使用API进行测试或为应用创建单元测试并使用Guzzle模拟http请求更加容易。 有关测试的更多信息,请点击此处

但是,如果您只想执行几个简单的http请求(似乎并非如此),那么您就不必关心测试,也不想对guzzle依赖cURL。

php中 可替代curl,laravel-PHP-为什么使用Guzzle代替cURL?相关推荐

  1. yum安装本地rpm包_在 Fedora 中安装替代版本的 RPM 包

    模块化使 Fedora 能够在仓库中提供替代版本的 RPM 软件包.每个 Fedroa 版本可以原生构建不同应用.语言运行时和工具版本的多个版本. -- Adam Šamalík(作者) 模块化 (M ...

  2. 中标麒麟安装rpm包命令_在 Fedora 中安装替代版本的 RPM 包

    模块化使 Fedora 能够在仓库中提供替代版本的 RPM 软件包.每个 Fedroa 版本可以原生构建不同应用.语言运行时和工具版本的多个版本. -- Adam Šamalík(作者) 模块化 (M ...

  3. access中case替代方法

    access中case替代方法 SELECT UserPassportID as PassportID, UserID, GrantorID, Case ObjectTypeID When 1 the ...

  4. C++17标准STL库并行策略在GCC编译器中的替代实现方法

    C++17标准STL库并行策略在GCC编译器中的替代实现方法 严正声明:本文系作者davidhopper原创,未经许可,不得转载.  2019年8月5日更新: GCC 9.1.0可支持C++ 17标 ...

  5. vb6的字符截取mid,left,right在vb.net中的替代

    vb6的字符截取mid,left,right在vb.net中的替代 Private Sub Button5_Click(ByVal sender As System.Object, ByVal e A ...

  6. php 安装curl init,linux下为php添加curl扩展的方法及curl_init函数用法案例详解

    使用PHP的cURL库可以简单和有效地去抓网页.只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导 ...

  7. c++ curl 超时_cc++写网络爬虫,curl+gumbo配合使用

    是的,你没有听错.就是用c++或者说c语言写爬虫. 其实不难,虽然没有Python写起来那么简单.但是也不是那么复杂啦,毕竟好多大佬都写了那么多库,我们只要会用大佬写的库就行. 网址:https:// ...

  8. (Window环境) curl: (6) Could not resolve host: application curl: (6) Could not resolve host: ‘localhos

    window环境下执行curl命令批量导入json到elasticsearch中 curl -H 'Content-Type: application/x-ndjson' -XPOST 'localh ...

  9. curl shell 失败_Shell常用命令之curl

    curl命令 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. ...

最新文章

  1. mysql 时间取日期函数_mysql 获取当前日期函数及时间格式化参数详解
  2. 4个月,9位诺奖得主加盟国内高校
  3. TensorFlow学习笔记02:TensorBoard可视化入门
  4. Polka.Domain完成40万美元私募轮融资
  5. 打破10倍速软件工程师神话
  6. 51CTO下载中心资源上传协议
  7. java assert可以检查exception吗_PETCT检查可以排查大肠癌吗?
  8. WIFI后台数据一文解释通
  9. 为什么计算机三分技术七分管理,如何理解“七分管理,三分技术,运作贯穿始终”?...
  10. 头条php,基于PHP的免费新闻头条接口查询
  11. AI虚拟数字人直播带货软件 AI数字人直播间怎么搭建 搭建教程分享
  12. Word,Excel未保存,突然断电?找回死机后未储存的Word,Excel文件
  13. 移动支付(mobile money)系列 —— Apple Pay的原理
  14. 如何查看目前所有会话的状态oracle,Oracle一些常用查看数据库状态SQL
  15. 03 SpringMVC 处理响应
  16. 小学计算机教师业务考试题库,小学数学教师业务模拟考试试题
  17. 波音737连续坠毁,AI要背锅?
  18. Java官方教程(七-3)Using Objects 使用对象(2021.4.10)
  19. 易语言注册码生成以及验证源码_短信验证码的登录流程
  20. netstat -anp|grep 8811 查看不出监听的是哪个进程

热门文章

  1. CruiseControl.NET开篇
  2. bashrc与profile的相关知识
  3. win7实用技巧之十——卷影副本
  4. java基础学习整理(一)
  5. 安装Nginx1.14.2过程及配置
  6. App.config/Web.config 中特殊字符的处理
  7. NGINX根据不同域名请求跳转同一台机器的不同项目
  8. python模块(一)
  9. poj3050【dfs】
  10. dx:ASPxGridView 批量删除