当前位置: 首页 > news >正文

PHP的guzzlehttp/guzzle库在碰到各种异常时的场景

PHP的guzzlehttp/guzzle库在碰到各种异常时的场景

结论:

经过测试得知
在http状态码为1xx, 2xx, 3xx时, 会在111处输出返回
在http状态码为4xx, 5xx时, 会在222处被捕获
在目标服务不可达或其他异常时会在333处被捕获

测试过程:

用其他程序写个接口, 实现输入什么状态码就返回什么状态码.
然后逐个http状态码测试
关掉服务, 再进行测试.
请求不存在的域名或IP时, 进行测试

测试环境:
guzzlehttp/guzzle: 7.9.2
php: 8.1

GuzzleHttp使用源码如下:

public function test(){$method = 'POST';$url = 'http://127.0.0.1:9999/test?code=499';$options = [];try {$http_response = (new \GuzzleHttp\Client())->request($method, $url, $options);var_dump(111);//1xx} catch (RequestException $e) {$http_response = $e->getResponse();//5xx 4xxvar_dump(222);} catch (\Exception $e) { //服务不可达var_dump(333);throw new ApiException($e->getMessage(), $e->getCode());}dd($http_response);
}

相关文章:

  • 【rust】 基于rust编写wasm,实现markdown转换为html文本
  • 智驭未来·电网负荷智控系统
  • <<迷雾>> 第 2 章 用电来表示数 示例电路
  • 700. 二叉搜索树中的搜索
  • 【JAVA】算法笔记
  • pkg升级导致xfce虚拟终端无法启动甚至xfce挂死无法登入@FreeBSD(未解决)
  • Linux安装JDK及配置环境变量超详细教程
  • C++那些你不得不知道的(2)
  • 3D Slicer医学图像全自动AI分割组合拳-MONAIAuto3DSeg扩展
  • QT--基础
  • C++编程:实现简单的高精度时间日志记录小程序
  • 【ChatGPT】Python 实现计算两线段的变换矩阵
  • 【virtuous】ron与rout的区别
  • css 数字比汉字要靠上
  • DTOF(direct Time-of-Flight,直接飞行时间)
  • [LeetCode] Wiggle Sort
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • Babel配置的不完全指南
  • Codepen 每日精选(2018-3-25)
  • dva中组件的懒加载
  • E-HPC支持多队列管理和自动伸缩
  • Electron入门介绍
  • JavaScript HTML DOM
  • JavaWeb(学习笔记二)
  • Laravel Telescope:优雅的应用调试工具
  • ReactNativeweexDeviceOne对比
  • Selenium实战教程系列(二)---元素定位
  • SQLServer之创建显式事务
  • 规范化安全开发 KOA 手脚架
  • 基于遗传算法的优化问题求解
  • 排序(1):冒泡排序
  • 小程序 setData 学问多
  • 用Visual Studio开发以太坊智能合约
  • nb
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 整理一些计算机基础知识!
  • 正则表达式-基础知识Review
  • ​虚拟化系列介绍(十)
  • #pragma预处理命令
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (分类)KNN算法- 参数调优
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (小白学Java)Java简介和基本配置
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • ./configure,make,make install的作用(转)
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • /proc/vmstat 详解
  • @DS 多数据源 + @Transactional(rollbackFor = Exception.class) 导致@DS 多数据源没法使用
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [000-01-022].第03节:RabbitMQ环境搭建
  • [APIO2015]巴厘岛的雕塑
  • [Big Data - Kafka] kafka学习笔记:知识点整理