System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种通过解析curl命令代理接口的方法及系统技术方案_技高网

一种通过解析curl命令代理接口的方法及系统技术方案

技术编号:44737565 阅读:11 留言:0更新日期:2025-03-21 18:04
本发明专利技术公开一种通过解析curl命令代理接口的方法及系统,涉及接口网关技术领域,包括:用户参考接口文档在第三方工具中调用接口,当接口调用成功时,复制出生成的curl命令并粘贴在前端页面;前端页面对curl命令进行校验,随后传送至后端;后端将curl命令拆分为数段指令,每段指令为选项或选项参数;参考curl的使用文档,后端依次执行数组中的每段指令,并从中提取指定选项及选项参数;后端对提取的接口地址进行处理并保存;后端将提取信息传送到前端页面进行展示;用户对展示信息进行修改确认后保存至数据库,后端根据数据库的保存信息形成代理接口,从而实现网关代理功能。本发明专利技术通过解析curl命令生成代理接口,提高了接口代理的效率和可用性。

【技术实现步骤摘要】

本专利技术涉及接口网关,具体的说是一种通过解析curl命令代理接口的方法及系统


技术介绍

1、随着互联网技术的发展和微服务的普及,出现了越来越多需要暴露的服务,而对这些服务的管理促使了接口网关的产生。网关一词最早出现在网络设备,比如两个相互独立的局域网之间通过路由器进行通信,中间的路由设备被称为网关。而在软件开发层面,就是客户端与微服务系统之间存在的网关。从业务层面来说,当客户端完成某个业务的时候,需要同时调用多个微服务。从系统层面来说,任何一个应用系统如果需要被其他系统调用,就需要暴露接口,这些接口代表着业务功能点。

2、向接口网关注册接口是接口网关使用重要的一步,传统方式一般采用手工配置、页面注册等方式。手工配置仅局限于应用系统层的接口代理,且对操作者技术要求较高,仅运维或开发人员可以操作,限制了接口网关的使用场景。相比于手工配置,页面注册操作更简单,技术门槛更低,也更方便操作,但传统的页面注册需要用户手工输入各种信息,包括但不限于接口地址、请求方式、请求参数等,人工操作不可避免的错误容易造成代理失败,给使用带来更多的运维问题。


技术实现思路

1、本专利技术针对目前技术发展的需求和不足之处,提供一种通过解析curl命令代理接口的方法及系统,通过自动解析的方式对curl命令进行解析,从而辅助用户代理接口,避免人工输入带来的错误,提高接口代理的效率和代理接口的可用性。

2、第一方面,本专利技术提供一种通过解析curl命令代理接口的方法,解决上述技术问题采用的技术方案如下:

3、一种通过解析curl命令代理接口的方法,其包括如下步骤:

4、s1、用户参考接口文档在第三方工具中调用接口,当接口调用成功时,复制出生成的curl命令并粘贴在前端页面;

5、s2、前端页面对curl命令进行校验;

6、s3、前端页面将校验通过的curl命令传送至后端进行处理;后端接收到curl命令后,将curl命令拆分为数段指令存放在数组中,每段指令为选项或选项参数;

7、s4、参考curl的使用文档,后端依次执行数组中的每段指令,并从中提取接口地址、请求方式、参数列表、参数位置和请求体类型五类选项及对应选项参数;

8、s5、后端对提取到的接口地址进行处理并保存到参数列表中;

9、s6、后端将步骤s4提取到的信息传送到前端页面进行展示;

10、s7、用户对前端页面的展示信息进行修改确认后保存至数据库,后端根据数据库的保存信息形成代理接口,从而实现网关代理功能。

11、可选的,执行步骤s2,前端页面对curl命令进行校验,具体包括:

12、检查curl命令中是否包含影响命令安全或命令解析的特殊字符;

13、检查curl命令的长度是否超过预设的长度范围;

14、使用正则表达式校验curl命令是否包含必填信息。

15、可选的,执行步骤s3,后端接收到curl命令后:

16、(1)检测curl命令是否合法、是否含有恶意命令或脚本,通过检测后执行后续步骤;

17、(2)使用正则表达式校验curl命令的格式是否合法,若校验合法则执行后续步骤;其中,校验内容包括:是否包含“curl”字符,是否包含特殊字符,是否包含非curl命令的字符,是否包含请求地址,包含的请求地址是否合法;

18、(3)对curl命令进行规范化处理:去除最前面的空格和最后面的空格、去除无用的命令符;

19、(4)去除最前面的“curl”字符,以进行分段处理;

20、(5)根据空格将curl命令拆分为数段指令存放在数组中,每段指令为选项或选项参数。

21、可选的,执行步骤s5,后端对提取到的接口地址进行如下处理:

22、判断有无协议号,若无则在前面拼装“http://”;

23、判断有无“?”,若有则截取问号后面的部分;

24、将截取后的部分通过“&”分割成多个键值对,每个键值对是一个字符串;

25、遍历多个键值对,每个键值对再根据“=”截取为参数名称和参数值;

26、将结果保存至参数列表中。

27、可选的,执行步骤s6后,前端页面展示的信息如下:请求地址、请求方式、请求体类型、请求参数列表、cookie、接口地址ip协议、接口地址http协议版本号、最大传输时间、代理地址、代理用户名和密码、是否包含文件、user-agent设置,其中,cookie信息从curl命令执行过程中服务器返回的响应头中提取,user-agent设置展示的是curl命令中‘-a’或‘--user-agent’选项对应的参数值。

28、第二方面,本专利技术提供一种通过解析curl命令代理接口的系统,解决上述技术问题采用的技术方案如下:

29、一种通过解析curl命令代理接口的系统,其包括前端部分和后端部分;

30、前端部分又包括:

31、调用复制模块,支持用户参考接口文档在第三方工具中调用接口,并在接口调用成功时复制出生成的curl命令并粘贴到校验传送模块;

32、校验传送模块,支持对粘贴的curl命令进行校验,并将校验通过的curl命令传送至后端部分;

33、可视编辑模块,支持展示后端部分的传送信息,供用户查看和修改;

34、传送保存模块,支持将用户修改确认后的展示信息传送至数据库进行保存;

35、后端部分又包括:

36、接收拆分模块,支持接收校验传送模块传送的curl命令,并拆分为数段指令存放在数组中,每段指令为选项或选项参数;

37、执行提取模块,支持参考curl的使用文档,依次执行数组中的每段指令,提取接口地址、请求方式、参数列表、参数位置和请求体类型五类选项及对应选项参数;

38、地址处理模块,支持对提取到的接口地址进行处理并保存到参数列表中;

39、信息传送模块,支持将执行提取模块提取到的信息传送到可视编辑模块;

40、代理实现模块,支持根据数据库的保存信息形成代理接口,实现网关代理功能。

41、可选的,所涉及校验传送模块对粘贴的curl命令进行校验,具体包括:

42、检查curl命令中是否包含影响命令安全或命令解析的特殊字符;

43、检查curl命令的长度是否超过预设的长度范围;

44、使用正则表达式校验curl命令是否包含必填信息。

45、可选的,所涉及接收拆分模块接收校验传送模块传送的curl命令,首先执行以下操作:

46、(1)检测curl命令是否合法、是否含有恶意命令或脚本,通过检测后执行后续步骤;

47、(2)使用正则表达式校验curl命令的格式是否合法,若校验合法则执行后续步骤;其中,校验内容包括:是否包含“curl”字符,是否包含特本文档来自技高网...

【技术保护点】

1.一种通过解析curl命令代理接口的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤S2,前端页面对curl命令进行校验,具体包括:

3.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤S3,后端接收到curl命令后:

4.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤S5,后端对提取到的接口地址进行如下处理:

5.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤S6后,前端页面展示的信息如下:请求地址、请求方式、请求体类型、请求参数列表、cookie、接口地址IP协议、接口地址http协议版本号、最大传输时间、代理地址、代理用户名和密码、是否包含文件、user-agent设置,其中,cookie信息从curl命令执行过程中服务器返回的响应头中提取,user-agent设置展示的是curl命令中‘-A’或‘--user-agent’选项对应的参数值。

6.一种通过解析curl命令代理接口的系统,其特征在于,其包括前端部分和后端部分;

7.根据权利要求6所述的一种通过解析curl命令代理接口的系统,其特征在于,所述校验传送模块对粘贴的curl命令进行校验,具体包括:

8.根据权利要求6所述的一种通过解析curl命令代理接口的系统,其特征在于,所述接收拆分模块接收校验传送模块传送的curl命令,首先执行以下操作:

9.根据权利要求6所述的一种通过解析curl命令代理接口的系统,其特征在于,所述地址处理模块对提取到的接口地址进行如下处理:

10.根据权利要求6所述的一种通过解析curl命令代理接口的系统,其特征在于,所述可视编辑模块具体展示如下信息,供用户查看和修改:请求地址、请求方式、请求体类型、请求参数列表、cookie、接口地址IP协议、接口地址http协议版本号、最大传输时间、代理地址、代理用户名和密码、是否包含文件、user-agent设置,其中,cookie信息从curl命令执行过程中服务器返回的响应头中提取,user-agent设置展示的是curl命令中‘-A’或‘--user-agent’选项对应的参数值。

...

【技术特征摘要】

1.一种通过解析curl命令代理接口的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤s2,前端页面对curl命令进行校验,具体包括:

3.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤s3,后端接收到curl命令后:

4.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤s5,后端对提取到的接口地址进行如下处理:

5.根据权利要求1所述的一种通过解析curl命令代理接口的方法,其特征在于,执行步骤s6后,前端页面展示的信息如下:请求地址、请求方式、请求体类型、请求参数列表、cookie、接口地址ip协议、接口地址http协议版本号、最大传输时间、代理地址、代理用户名和密码、是否包含文件、user-agent设置,其中,cookie信息从curl命令执行过程中服务器返回的响应头中提取,user-agent设置展示的是curl命令中‘-a’或‘--user-agent’选项对应的参数值。

6.一种通过解析cu...

【专利技术属性】
技术研发人员:姚明玉王振峰周庆勇李连伟孙思清
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1