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

news/2024/9/30 0:08:47 标签: php, 开发语言

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

结论:

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

测试过程:

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

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

GuzzleHttp使用源码如下:

php">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 4xx
            var_dump(222);
        } catch (\Exception $e) { //服务不可达
            var_dump(333);
            throw new ApiException($e->getMessage(), $e->getCode());
        }
        dd($http_response);
}

http://www.niftyadmin.cn/n/5683942.html

相关文章

ICML 2024 论文分享┆一个简单且通用的交通预测提示调优框架

论文简介 本推文介绍了2024 ICML的优秀论文之一《FlashST: A Simple and Universal Prompt-Tuning Framework for Traffic Prediction》。论文的核心目标是通过整合空间和时间因素,精准地预测和分析交通流量的动态变化。然而,在交通预测领域&#xff0c…

解读 Story Protocol:IP 与区块链的潜力与障碍

撰文:100y.eth 编译:J1N,Techub News 8 月,据 The Block 报道,专注于知识产权(IP)的区块链 Story 宣布完成 a16z Crypto 领投 8000 万美元 B 轮融资,参投方包括 Polychain Capital&…

Nginx反向代理配置支持websocket

一、官方文档 WebSocket proxying 为了将客户端和服务器之间的连接从HTTP/1.1转换为WebSocket,使用了HTTP/1.1中可用的协议切换机制(RFC 2616: Hypertext Transfer Protocol – HTTP/1.1)。 然而,这里有一个微妙之处:由于“升级”…

26 Vue3之unocss原子化

zz前置知识 什么是原子化 CSS 原子化 CSS 是一种 CSS 的架构方式,它倾向于小巧且用途单一的 class,并且会以视觉效果进行命名。 为什么使用 原子化 CSS 传统方案 制作原子化 CSS 的传统方案其实就是提供所有你可能需要用到的 CSS 工具。例如,你可能会用预处理器(这里选…

【Router】路由功能之MAC地址过滤(MAC Filter)功能介绍及实现

MAC地址过滤(MAC Filter) MAC 地址过滤是一种网络安全技术,通过在网络设备(如路由器)上设置规则,允许或阻止特定 MAC 地址的设备连接到网络。其主要作用是增强网络的安全性,防止未经授权的设备接入网络。 MAC Filter工作原理 MAC 地址过滤的工作原理是根据设备…

【数学二】一元函数微分学- 利用微分的概念、定理、几何含义求解

考试要求 1、理解导数和微分的概念,理解导数与微分的关系,理解导数的几何意义,会求平面曲线的切线方程和法线方程,了解导数的物理意义,会用导数描述一些物理量,理解函数的可导性与连续性之间的关系. 2、掌握导数的四则…

【muduo源码分析】「阻塞」「非阻塞」「同步」「异步」

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言何为「muduo库」安装muduo库阻塞、非阻塞、同步、异步数据准备数据准备 引言 从本篇博客开始,我会陆续发表muduo库源码分析的相关文章。感谢大家的持续关注!!…

C# 面对对象基础 枚举,Enum.TryParse的使用

代码: using System; using System.Collections.Generic; using System.Dynamic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;namespace Student_c_ {enum Week : int{Mon,Tus,Wed,Thu,Fri,Sat,Sun,}public cla…