laravel guzzhttp 记录请求参数、响应参数日志

Simulink中为Scope模块添加图例的方法 比如我要在Scope模块输出三轴加速度的数据,但三轴数据波形混杂在一起不太好看,此时就需要在Scope模块中添加图例来使波形看起来更加清晰明了。 注:我这里使用的Matlab版本为2019a 1.首先在simulink中打开,需要添加图例的Scope,如图示: 2.在Matlab,command窗口输入: >> set(0,'ShowHiddenHandles','On'); >> set(gcf,'menubar','figure'); 此时你会发现Scope窗口菜单栏多了好几 阅读详情

其实大家可以去查阅一下guzzhttp的官方网址,里面有很多请求参数等相关配置。

我就是利用了官方提供的on_stats请求参数配置项,这里是官方对这个配置参数的说明:

on_stats 允许你获取请求传输数据统计以及处理器在底层传输的详情. on_stats 是个回调,当处理器完成传输一个请求的时候被调用。 该回调被调用请求传输数据统计、接收到响应,或遇到错误,包含发送请求数据时间的总量。

 那么这个参数项很符合我们去在初始化Client类的时候记录相关的请求信息、响应信息等参数,接下来是代码的演示:

//这里是控制器文件,定义一个使用guzzhttp去请求第三方API的方法
public function testRequest(): \Illuminate\Http\JsonResponse
    {
        try {

            $client = new Client([
                'http_errors' => false,
                'base_uri' => 'https://localhost:18776',
                'timeout' => 10,
                'on_stats' => function (TransferStats $stats) {
                    //这里可以获取到请求对象
                    $request = $stats->getRequest();

                    $logsContent["REQUEST"] = [
                        "PATH" => $request->getUri()->getPath(),
                        "METHOD" => $request->getMethod(),
                        "QUERY" => $request->getUri()->getQuery(),
                        "BODY" => json_decode($request->getBody(), true)
                    ];

                    //判断是否有正常的响应对象
                    if ($stats->hasResponse()) {
                        //这里可以获取到响应对象
                        $response = $stats->getResponse();
                        $logsContent["RESPONSE"] = [
                            "STATUS_CODE" => $response->getStatusCode(),
                            "BODY" => json_decode($response->getBody(), true)
                        ];
                    } else { //这里一般都是网络发生错误,常见的有CURL错误码
                        if ($stats->getHandlerErrorData() instanceof \Exception) {
                            $error = $stats->getHandlerErrorData()->getMessage();
                        } else {
                            $error = $stats->getHandlerErrorData();
                        }
                        $logsContent["RESPONSE"] = [
                            "ERROR" => $error
                        ];
                    }

                    Log::info(json_encode($logsContent, 320));
                }
            ]);

            $r1 = $client->postAsync("/test?id=123", [
                "json" => [
                    "id" => 1001,
                    "name" => "zhangfei"
                ]
            ]);

            $response = [];

            $r1->then(
                function (ResponseInterface $res) use (&$response) {
                    $response = json_decode($res->getBody()->getContents(), true);
                }
            )->wait();

        } catch (\Throwable $exception) {

            return response()->json(["code" => 500, "message" => $exception->getMessage()]);

        }

        return response()->json(["code" => 200, "message" => "success", "data" => $response["data"] ?? ""]);
    }

 这里使用postman请求定义好的laravel控制器方法:

 请求完成之后可以查看laravel日志文件,我这里不方便截图直接打印出完整的日志JSON:

{
	"REQUEST": { //请求信息
		"PATH": "/test",
		"METHOD": "POST",
		"QUERY": "id=123",
		"BODY": {
			"id": 1001,
			"name": "zhangfei"
		}
	},
	"RESPONSE": { //响应信息
		"STATUS_CODE": 200,
		"BODY": {
			"code": 200,
			"data": {
				"age": "男",
				"name": "zhangfei"
			},
			"msg": "success"
		}
	}
}

海康威视工业相机网络配置实战:从MVS软件操作到IP地址规划 本文详细介绍了海康威视工业相机的网络配置实战,从MVS软件操作到IP地址规划。重点讲解了IP设置的重要性、Windows系统下的网络配置步骤、避免IP冲突的技巧,以及MVS软件中的相机IP配置方法。帮助用户快速掌握工业相机的网络连接技术,确保稳定高效的图像采集。 阅读详情

相关推荐

博图V16与840D sl数控系统PLC编程实战指南

本文为西门子840D sl数控系统的PLC编程实战指南,详细介绍了如何使用博图V16软件配置编程环境。内容涵盖从项目创建、核心程序块(如DB、FB)解析到OB1主循环编程的完整流程,并提供了高级调试技巧与联调避坑指南,帮助工程师快速上手并高效完成系统集成与逻辑控制。

weixin_29193259的博客 527

laravel使用Client请求详细教程

在创建Client实例时,可以设置一些选项,例如base_uri表示请求的基础URL,timeout表示请求超时时间。使用Client实例发送请求,可以使用get、post、put、delete等方法。其中getStatusCode()方法获取响应的状态码,getBody()方法获取响应的内容。在使用Client请求之前,需要先创建一个Client实例。在发送请求时,可以设置请求参数,例如form_params表示POST请求的表单参数。

码奴一只猿 1622

在UI界面中播放视频_unity基础开发教程

之前我写过一篇在场景中播放视频的文章,但是在开发中有时候也会在UI的界面中播放视频,这期我们做一下在UI的界面中播放视频。操作步骤比较简单,到这里就完成了,如果有问题的话可以在评论区留言,下期见,拜拜!

为者常成,行者常至! 2011

GuzzleHttp使用

一、简介 Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。 接口简单:构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。 发送同步或异步的请求均使用相同的接口。 使用PSR-7接口来请求、响应、分流,允许你使用其他兼容的PSR-7类库与Guzzle共同开发。 抽象了底层的HTTP传输,允许你改变环境以及其他的代码,如:对cURL与PHP的流或socket并非重度依赖,非阻塞事件循环。 中间件系统允

qq_40945903的博客 1390

5G NR LDPC码(2)—— 从基图到速率匹配:解码5G高速数据信道的标准化设计

本文深入解析了5G NR LDPC码的标准化设计流程。从作为核心骨架的基图(BG1/BG2)出发,详细阐述了其如何通过扩展因子Z灵活生成实际校验矩阵,并协同传输块大小计算与分段策略。文章重点剖析了基于循环缓存和冗余版本的速率匹配机制,以及其如何高效支撑增量冗余混合自动重传请求,从而确保5G高速数据信道在复杂环境下的可靠与高效传输。

weixin_29206669的博客 273

重塑计算的五层蛋糕:解读黄仁勋CES2026演讲背后的AI新秩序与物理世界

2026年CES演讲揭示AI新纪元:从语言模型到物理智能 NVIDIA CEO黄仁勋在2026年CES演讲中描绘了计算产业的根本性变革。核心突破包括: 计算范式转移:从指令执行转向意图理解,智能体系统崛起 物理AI突破:发布Cosmos世界模型,通过合成数据训练AI理解物理定律 全新VeraRubin计算平台:6芯片协同设计,解决摩尔定律放缓与AI需求增长的矛盾 自动驾驶革命:推出具备推理能力的Alpamayo模型,实现L4级自动驾驶 演讲标志着AI正从数字世界迈向物理世界,NVIDIA通过全栈布局,正在重

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 1275

GuzzleHttp的使用

一、背景 作为经常需要使用到的API,项目可以添加GuzzleHttp扩展来使用,方便,快捷,全面; 这次我们项目开发使用的是laravel5.8,那么对于接口数据均是采用GuzzleHttp来获取的,文档有较为全面的使用介绍,本仙女这就只总结自己能用到的哟 二、封装使用 /** * 请求接口,获取e信使用户需要完成的阅读任务 * @param string $post 请求方...

snow_love_xia的博客 1万+

基于Python的链家与贝壳租房数据爬取及城市性价比分析

本文通过Python爬虫技术,实现对链家和贝壳平台全国主要城市租房数据的采集与分析。研究使用requestsSelenium和Playwright等现代化爬虫工具,结合代理IP和验证码识别技术应对反爬机制。采集的数据经过清洗后,从多维度分析不同城市租房市场的价格分布、面积特征和性价比差异,并使用可视化技术展示分析结果。本研究为租房者提供决策参考,也为租房市场研究提供数据支撑。关键词:Python爬虫;租房数据;数据分析;链家;贝壳。

2201_76125261的博客 530

记一次Guzzlehttp使用form_params调试问题

调试开始请求,请求无报错,外部接口返回用户不存在,但是我确定传了用户参数的;结果法相form-params的写法写错了,中间是下划线,应该是form_params,修改后就没问题了,而且这种根本就不需要些头:Content-Type: application/x-www-form-urlencoded。由于外部接口说了要让我使用指定格式Content-Type: application/x-www-form-urlencoded。

luhaiping1993的博客 435

同步调相机启动与并网控制技术方案

同步调相机起动与并网控制技术方案采用背靠背变流器系统,通过静止变频器(SFC)策略实现无原动机驱动的同步电机从静止到同步转速的平稳起动。方案详细阐述了硬件自检、模块初始化、转子位置检测等关键环节,重点解决启动转矩为零、冲击电流大等挑战。系统基于STM32或C2000系列控制器,包含网侧/机侧变流器、检测保护单元及通信接口,通过励磁脉冲和电压响应分析实现高精度转子初始定位,为后续并网提供必要条件。代码级实现涵盖了ADC自检、数字IO验证及通信端口测试等核心功能。

huanghm88的专栏 307

把 SAP GUI 做成可维护的应用:Module Pool 基础与 Table Control 深入实战

SAP Module Pool 与 Table Control 开发要点 摘要:Module Pool 作为 SAP GUI 交互的核心技术,由程序、屏幕(Dynpro)和流逻辑(Flow Logic)组成,通过 PBO/PAI 事件驱动数据流。Table Control 是其中处理多行数据的核心控件,其开发关键在于: 正确理解 PBO/PAI 数据流机制 掌握 CXTAB_CONTROL 结构的关键属性(LINES、TOP_LINE 等) 合理设置列控制属性(CXTAB_COLUMN) 采用 LOOP W

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 243

Guzzle 使用文档

GuzzleHttp请求第三方https接口报错。2. 发起 Post 请求。4. 使用 Cookie。

m0_69254007的博客 2825

【100%通过率】华为OD机试真题 Python 实现【最多组合直角三角形个数】【2023 Q1 | 100分】

有N条线段,长度分别为a[1]-a[n]。 现要求你计算这N条线段最多可以组合成几个直角三角形。 每条线段只能使用一次,每个三角形包含三条线段。

MISAYAONE的博客 1万+

GuzzleHttp请求及响应日志

上网找了很久发现可以在GuzzleHttp中加入日志。前不久对接了一个海康企业安全平台,调试时发现需要查看请求及响应日志。

PeterTu的博客 841

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

laravel8使用GuzzleHttp\Client类发起各类请求示例

laravel8 中的GuzzleHttp\Client类,发起get/post请求,以各种方式参数,获取数据。

kirsten_z的博客 2576

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【小TIPS】 广告监测地址中间路径跟踪

之前写了一篇监测地址跟踪的文章,【基于guzzlehttp库实现广告监测地址检查】,由于不断的演进,目前期望结果是跟踪全部的uri和code,所以打算写篇文章说说这个问题。 一、目的:跟踪重定向的路径和状态信息 如果只跟踪重定向信息,使用allow_redirects的track_redirects=true即可实现,on_redirect回调记录相关信息即可。 $onRedirect = function( RequestInterface $request, ResponseInterf

Martian 372

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Laravel框架记录请求和返回日志

Laravel框架版本:7.30.6php版本:7.4.3。

爱吃五花肉EMin的博客 531

laravel核心架构——请求周期

laravel核心架构——请求周期开始HTTP/控制器内核服务提供器 laravel核心架构,在laravel china社区中文文档中有详细的说明。参见《Laravel 5.5 中文文档》 | Laravel China 社区。在这里,只做主要笔记。 开始 public/index.php 文件是所有对 Laravel 应用程序的请求的入口点。 public/index.php是工程的单入口...

szuaudi的博客 474

Laravel 5.5 打印日志

use Illuminate\Support\Facades\Log; Log::debug($error_info); 转载于:https://my.oschina.net/ch...

chouzu8463的博客 2362

PHP使用GuzzleHttp进行HTTP请求

2,设置过期时间和跳过ssl验证。3,post请求 :json。1,composer安装。3,delete请求。

zhouchang111的博客 3199

Tp6使用GuzzleHttp访问http

参考资料: Tp6使用GuzzleHttp访问http_兰陵笑笑苼的博客-优快云博客_使用guzzle ThinkPHP6如何结合GuzzleHTTP发送HTTP请求 - 编程语言 - 亿速云 进入项目的根目录: 查看是否存在: 我的封装代码: 如果需要封装其他格式的,只需要设置以上的1和2步就行。第4步,需要根据接口返回的值,自行处理。 至于headers里面的content-type格式常见的有哪几种,请参考: HTTP 请求头中的Content-Type类型 - ..

yqh的博客 3409

PHP使用GuzzleHttp发送get/post请求

GuzzleHttp是一个http客户端 设置header头 $http = new Client(['headers' => [ "Access-Token" => '104231665f5749ecd79122edbcb89b55f7c55e40', "Content-type" => 'application/json' ]]); 发送post请求 $response = $http->post(

Icebreaker 8712

Exceptionless高级功能探索:WebHook集成、Slack通知与自定义工作流

Exceptionless是一款强大的错误跟踪和日志管理工具,不仅能够帮助开发者实时捕获应用程序中的异常,还提供了丰富的高级功能来优化开发工作流。本文将深入探讨Exceptionless的三大高级功能:WebHook集成、Slack通知以及自定义工作流,帮助你轻松构建高效的错误响应机制。 ## WebHook集成:打造实时数据交互通道 WebHook是Exceptionless实现外部系统集成

gitblog_00086的博客 579

Laravel 执行操作日志记录

在开发过程中,尤其是内部管理(CRM)、SaaS系统,经常性的会需要对每一步操作进行记录,尤其是修改过的内容,更需要完整性的展示出来,那么操作日志就必不可少。首先,要获取到对应表的字段名称,在根据前端传来的值进行查找,将查找出来的数据进行比对。仅是我个人浅见,如有更好意见,希望能够交流一番。

luohao1008的博客 1038

guzzleHttp组件并发请求时,传递请求参数

SSL 证书验证 如果不验证 使用verify=>false。并将'proxy'选项传递给它时,请求不起作用。post请求 参数使用 form_params。header头部分 使用 headers。调用multi_req方法 相关的代码。GuzzleHttp异步并发使用。get请求参数 使用 query。put请求参数 使用 body。

taihom的专栏 1422

guzzle 查看请求内容_监控tomcat请求,用pinpoint就够了,附使用教程说明

概述最近在使用pinpoint进行应用监控,发现网上对安装介绍的很详细,但是如何使用介绍的不是非常好,特别整理一篇pinpoint的使用手册。1、查看调用关系1.1 访问地址1.2 选择应用默认两层展示调整层级深度:连线上数字为调用次数选择更多时间范围(默认最新5分钟)和自动更新时间2、查看调用链鼠标按住左键,选中图中区域,松开左键,则展示选中时间段调用层级展示结果:默认按耗时排序,选中timel...

weixin_39968436的博客 378
上一篇: golang 切片结构体多条件排序
下一篇: golang优雅退出守护进程、信号处理
erternalKing
博客等级 码龄9年 27粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值