本公开涉及电子信息,具体地,涉及一种流量录制方法、装置、介质及电子设备。
背景技术:
1、由于流量回放具有高效、低成本、全面的优势,使得流量回放成为一种重要的服务测试方法。流量回放的思想是通过录制线上/线下流量,在开发/测试环境进行回放,对比模块/系统的表现一致性来验证变更是否正常,降低代码变动带来的风险。
2、因此,流量录制成为流量回放的一个重要步骤,然而,相关技术中的流量录制方法不能支持https协议的服务。
技术实现思路
1、提供该
技术实现要素:
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
2、第一方面,本公开提供一种流量录制方法,所述方法包括:
3、在对候选流量请求进行响应的过程中,当执行到对外调用函数时,通过在超文本传输协议层注入的钩子函数,对所述对外调用函数包括的超文本传输协议的原始对外请求数据进行复制;
4、将所述原始对外请求数据封装成对外调用请求,并发送到对应的服务端;
5、接收对应的服务端返回的中间响应数据,并对所述中间响应数据进行解析,得到超文本传输协议的原始中间响应数据,所述原始中间响应数据是与所述原始对外请求数据对应的响应数据;
6、通过在所述超文本传输协议层注入的钩子函数,对所述原始中间响应数据进行复制;
7、基于复制得到的所述原始对外请求数据以及所述原始中间响应数据,得到与所述候选流量请求对应的流量录制结果。
8、第二方面,本公开提供一种流量录制装置,所述装置包括:
9、第一复制模块,用于在对候选流量请求进行响应的过程中,当执行到对外调用函数时,通过在超文本传输协议层注入的钩子函数,对所述对外调用函数包括的超文本传输协议的原始对外请求数据进行复制;
10、第一发送模块,用于将所述原始对外请求数据封装成对外调用请求,并发送到对应的服务端;
11、第一接收模块,用于接收对应的服务端返回的中间响应数据,并对所述中间响应数据进行解析,得到超文本传输协议的原始中间响应数据,所述原始中间响应数据是与所述原始对外请求数据对应的响应数据;
12、第二复制模块,用于通过在所述超文本传输协议层注入的钩子函数,对所述原始中间响应数据进行复制;
13、获得模块,用于基于复制得到的所述原始对外请求数据以及所述原始中间响应数据,得到与所述候选流量请求对应的流量录制结果。
14、第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面中所述方法的步骤。
15、第四方面,本公开提供一种电子设备,包括:
16、存储装置,其上存储有计算机程序;
17、处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面中所述方法的步骤。
18、通过上述技术方案,当执行到对外调用函数时,通过在超文本传输协议层注入的钩子函数,对所述对外调用函数包括的超文本传输协议的原始对外请求数据进行复制,以及,在接收对应的服务端返回的中间响应数据,并对所述中间响应数据进行解析,得到超文本传输协议的原始中间响应数据之后,通过在所述超文本传输协议层注入的钩子函数,对所述原始中间响应数据进行复制,然后基于复制得到的所述原始对外请求数据以及所述原始中间响应数据,得到与所述候选流量请求对应的流量录制结果。由于通过钩子函数复制得到ssl层加密前的原始对外请求数据,以及复制得到ssl层解密后的中间响应数据,相当于将参数复制从tcp层上移到http层,从而使得即使是通过https协议交互的请求也支持回放。
19、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
1.一种流量录制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述当执行到对外调用函数时,通过在超文本传输协议层注入的钩子函数,对所述对外调用函数包括的超文本传输协议的原始对外请求数据进行复制,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述对外调用函数为异步调用的函数,所述在对候选流量请求进行响应的过程中,当执行到对外调用函数时,通过在超文本传输协议层注入的钩子函数,对所述对外调用函数包括的超文本传输协议的原始对外请求数据进行复制,包括:
7.根据权利要求6所述的方法,其特征在于,所述异步调用的函数包括多个层级的函数,每一所述层级的函数中包括对应上一层级的异步调用的函数,所述通过所述目标协程处理所述异步调用的函数,以得到所述原始对外请求数据,包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种流量录制装置,其特征在于,所述装置包括:
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-8中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
