CN112887390B - 一种网络请求方法 - Google Patents
一种网络请求方法 Download PDFInfo
- Publication number
- CN112887390B CN112887390B CN202110074800.8A CN202110074800A CN112887390B CN 112887390 B CN112887390 B CN 112887390B CN 202110074800 A CN202110074800 A CN 202110074800A CN 112887390 B CN112887390 B CN 112887390B
- Authority
- CN
- China
- Prior art keywords
- request
- data
- user
- format
- network request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种网络请求方法,通过建立一个服务类,所述服务类将http请求分为N个步骤,然后在每个步骤中包括需要用户设置的参数,对数据进行分步骤,分类别解析处理,随后返回处理结果。其中本发明的有益效果是:代码重复利用率高,有助于提升工作效率,代码量的减少也会导致后期维护成本低,降低成本,可视化界面使更改参数更加友好,便于操作。系统灵活性更高。
Description
技术领域
本发明涉及计算机信息软件开发领域,特别涉及一种网络请求方法。
背景技术
背景技术为计算机通信协议,http请求为主,现有技术通常是以编程语言构建一个完整的http请求并解析其返回体,之后运行程序发起请求。编程实现的方式限制了更改参数的便利性,举例来说想要更改对接的系统,从一个ERP修改到某一代码托管网站,对应的需要在程序里修改URL地址、对应的账号密码参数以及返回的原始数据如何处理等等,几乎是另写一个全新的网络请求,代码重复利用率很低,后期维护修改等不方便。目前市面上没有将http这一基础网络请求再包装并提供可视化界面来自定义入参出参的方案或产品。
发明内容
为了解决上述技术问题,本发明中披露了一种网络请求方法,本发明的技术方案是这样实施的:
一种网络请求方法,建立一个服务类,所述服务类将http请求分为N个步骤,然后在每个步骤中包括需要用户设置的参数,对回调数据的类型进行分类并分步解析,最后返回处理结果。
优选地,所述http请求包括请求行、请求头部、空行和请求数据。
优选地,所述请求行包括请求方法、请求地址URL和HTTP协议版本。
优选地,具体步骤如下:
S1:具体步骤如下:建立一个服务类;
S2:传入要执行的qlinker的Id和用户自定义参数的Id;
S3:获取对应qlinker的配置;
S4:获取用户设置的参数的值;
S5:将配置里的参数替换成用户设置的参数的值;
S6:将所有配置转换成HttpPost/Get方法的格式;
S7:构建请求;
S8:发送请求;
S9:接收回调回来的数据;
S10:根据用户配置的回调数据的类型不同,分别进行处理;
S11:解析格式数据;
S12:返回解析结果。
优选地,S11步骤中包括使用JsonPath来解析json格式的数据.
优选地,还包括使用xPath解析xml格式的数据。
优选地,S11步骤中当处理的数据格式为表格时,解析嵌套数组。
优选地,还包括使用正则表达式解析数据。
实施本发明的技术方案可解决现有技术中没有将http这一基础网络请求再包装并提供可视化界面来自定义入参出参的方案或产品的技术问题;实施本发明的技术方案,通过将http请求分为几个步骤,然后分开包装,每一步暴露出需要用户设置的参数,在保留了高度自定义的同时提升了代码重复利用率,使用起来方便快捷,能够短时间构建网络请求并且具备调试功能,可实现代码重复利用率高,有助于提升工作效率,代码量的减少也会导致后期维护成本低,降低成本,系统灵活度高的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一种实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中相同的零部件用相同的附图标记表示。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“底面”和“顶面”、“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
图1为本发明的流程示意图;
图2为解析数据的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
在一种具体的实施例中,如图1和图2所示,一种网络请求方法,建立一个服务类,所述服务类将http请求分为N个步骤,然后在每个步骤中包括需要用户设置的参数,对回调数据的类型进行分类并分步解析,最后返回处理结果。
所述http请求包括请求行、请求头部、空行和请求数据。
所述请求行包括请求方法、请求地址URL和HTTP协议版本。
本实施例中,分开包装改变参数的过程中需要传入用户自定义的参数,确定用户在请求配置中的具体内容,根据用户自定义配置的参数比如params、URL、header、body等,转换为post/get的格式,每一步暴露出需要用户设置的参数,在保留了高度自定义的同时提升了代码重复利用率,使用起来方便快捷,能够短时间构建网络请求并且具备调试功能;在解析数据部分根据用户配置的回调数据的类型不同进行分别处理,最后返回处理后的结果。
具体步骤如下:
S1:具体步骤如下:建立一个服务类;此服务类包含:更换url,header,Param等配置里的参数,并将这些参数转换成HttpPost/Get的格式,发送请求获得返回结果。
S2:传入要执行的qlinker的Id和用户自定义参数的Id;传入要执行的qlinker的Id来确定将要执行的qlinker的具体配置,传入用户自定义参数的id是来确定用户在此次请求配置的具体内容。
S3:获取对应qlinker的配置;根据id在数据库中拿到用户配置的url、menthod、bodyType、headers、params、bodies、alias等,用于构建请求。
S4:获取用户设置的参数的值;url等配置里会有一些用户配置的参数,用户每次请求的时候可以通过只修改这些参数的值来满足不同的请求需求,根据参数的id去数据库里拿到对应的值。
S5:将配置里的参数替换成用户设置的参数的值;通过DAO层拿到qlinker的配置和用户设置的参数后,通过替换参数id的函数,将配置里的参数id换成对应的值,得到最终的配置。
S6:将所有配置转换成HttpPost/Get方法的格式;由于数据库里存储的数据结构和HttpPost/Get方法要求的格式不一致,先将用户配置的headers,转换成HttpPost/Get的headers的格式,然后如果用户配置的是post请求就根据body的类型不同来处理body,get方法则不需要处理。
S7:构建请求;先将我们上述步骤得到的用户配置的url去掉空格,并且根据用户配置的时候是否以“?”结尾来拼接用户配置的Params,然后将转换完格式的headers和bodies(post请求且body的类型是urlEncode)依次配置到HttpPost/Get中。
S8:发送请求;完成最终的配置后,执行配置好的HttpPost/Get。
S9:接收回调回来的数据;
S10:根据用户配置的回调数据的类型不同,分别进行处理;用户配置什么类型的数据,就按照对应的数据类型进行解析,代码利用率高,工作效率高。
S11:解析格式数据;使用JsonPath来解析json格式的数据,使用xPath解析xml格式的数据,只需要用户配置的解析表达式和得到的回调数据就可以得到用户想要的解析结果。
当处理的数据是表格时,需要进行嵌套数组解析,对于json格式需要先根据用户配置的表格别名解析到该表格别名对应的json数组,然后以该数组为源数据,再根据用户配置的子别名在这个json数组中解析到对应的结果,需要解析两次;对于xml格式需要先解析出表格别名对应的结果,然后再根据子别名去匹配对应的结果即可,只需要解析一次。即可进行S12。
S12:返回解析结果。
本实施例解决了现有技术中通常是以编程语言构建一个完整的http请求并解析其返回体,之后运行程序发起请求,该过程繁琐且代码利用率不高的技术难题,例如想要更改对接的系统,从一个ERP修改到某一代码托管网站,对应的需要在程序里修改URL地址、对应的账号密码参数以及返回的原始数据如何处理等等,几乎是另写一个全新的网络请求,代码重复利用率很低,后期维护修改等不方便,采用本实施例中的方法,代码重复利用率高,有助于提升工作效率,代码量的减少也会导致后期维护成本低,降低成本,可视化界面使更改参数更加友好(本实施例修改参数可视化,不需要业务人员编写代码,只需要把关键参数进行更改即可),便于操作。系统灵活性更高。
在一种优选的实施方式中,还包括使用正则表达式解析数据,然后执行S12步骤。
本实施例还包括使用正则表达式筛选数据,当数据类型非json格式或xml格式时,使用正则表达式筛选出想要得到的数据时,不需要进行解析可直接返回输出结果。
需要指出的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种网络请求方法,其特征在于:建立一个服务类,所述服务类将http请求分为N个步骤,然后在每个步骤中包括需要用户设置的参数,对回调数据的类型进行分类并分步解析,最后返回处理结果;包括步骤如下:
S1:建立一个服务类;
S2:传入要执行的qlinker的Id和用户自定义参数的Id;
S3:获取对应qlinker的配置;
S4:获取用户设置的参数的值;
S5:将配置里的参数替换成用户设置的参数的值;
S6:将所有配置转换成HttpPost/Get方法的格式;
S7:构建请求;
S8:发送请求;
S9:接收回调回来的数据;
S10:根据用户配置的回调数据的类型不同,分别进行处理;
S11:解析格式数据;
S12:返回解析结果。
2.根据权利要求1所述的一种网络请求方法,其特征在于,所述http请求包括请求行、请求头部、空行和请求数据。
3.根据权利要求1所述的一种网络请求方法,其特征在于,所述请求行包括请求方法、请求地址URL和HTTP协议版本。
4.根据权利要求2所述的一种网络请求方法,其特征在于:S11步骤中包括使用JsonPath来解析json格式的数据。
5.根据权利要求3所述的一种网络请求方法,其特征在于:S11步骤中还包括使用xPath解析xml格式的数据。
6.根据权利要求4所述的一种网络请求方法,其特征在于:S11步骤中当处理的数据格式为表格时,解析嵌套数组。
7.根据权利要求5所述的一种网络请求方法,其特征在于:S11步骤中还包括使用正则表达式解析数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110074800.8A CN112887390B (zh) | 2021-01-20 | 2021-01-20 | 一种网络请求方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110074800.8A CN112887390B (zh) | 2021-01-20 | 2021-01-20 | 一种网络请求方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887390A CN112887390A (zh) | 2021-06-01 |
CN112887390B true CN112887390B (zh) | 2023-02-17 |
Family
ID=76051405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110074800.8A Active CN112887390B (zh) | 2021-01-20 | 2021-01-20 | 一种网络请求方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887390B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199725A (zh) * | 2014-09-27 | 2014-12-10 | 上海瀚之友信息技术服务有限公司 | 一种服务接口数据模拟方法和系统 |
WO2017143747A1 (zh) * | 2016-02-22 | 2017-08-31 | 乐视控股(北京)有限公司 | 一种移动终端网络请求方法及系统 |
CN108536487A (zh) * | 2018-04-12 | 2018-09-14 | 珠海横琴盛达兆业科技投资有限公司 | 一种基于Android平台简洁、高效的加载服务器数据的Get请求方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068801A (zh) * | 2015-08-06 | 2015-11-18 | 福建天晴数码有限公司 | 修改json日期格式的方法及系统 |
US10387656B2 (en) * | 2016-03-21 | 2019-08-20 | Checkmarx Ltd. | Integrated interactive application security testing |
CN107277086B (zh) * | 2016-04-06 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 业务处理系统、业务处理方法以及业务更新方法 |
CN109614102A (zh) * | 2018-10-09 | 2019-04-12 | 平安科技(深圳)有限公司 | 代码自动生成方法、装置、电子设备及存储介质 |
CN110032511A (zh) * | 2019-03-19 | 2019-07-19 | 深圳市买买提信息科技有限公司 | 一种接口测试方法及接口测试设备 |
-
2021
- 2021-01-20 CN CN202110074800.8A patent/CN112887390B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199725A (zh) * | 2014-09-27 | 2014-12-10 | 上海瀚之友信息技术服务有限公司 | 一种服务接口数据模拟方法和系统 |
WO2017143747A1 (zh) * | 2016-02-22 | 2017-08-31 | 乐视控股(北京)有限公司 | 一种移动终端网络请求方法及系统 |
CN108536487A (zh) * | 2018-04-12 | 2018-09-14 | 珠海横琴盛达兆业科技投资有限公司 | 一种基于Android平台简洁、高效的加载服务器数据的Get请求方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112887390A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3404542A1 (en) | Data pipeline architecture for analytics processing stack | |
CN111552838B (zh) | 数据处理方法及装置、计算机设备、存储介质 | |
US20180137184A1 (en) | Sql interceptor for use with third party data analytics packages | |
US20200364218A1 (en) | Integration query builder framework | |
CN112732466B (zh) | 一种服务调用方法、装置和系统 | |
RU2697648C2 (ru) | Система классификации трафика | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
CN112015372B (zh) | 一种异构服务的编排方法、处理方法、装置及电子设备 | |
CN115934097A (zh) | 生成可执行语句的方法、装置、存储介质及电子装置 | |
CN112416739B (zh) | 测试方法、装置以及电子设备 | |
CN116860781A (zh) | 数据校验方法、装置、终端设备以及存储介质 | |
CN112887390B (zh) | 一种网络请求方法 | |
CN103561113B (zh) | Web Service接口的生成方法及装置 | |
CN113516729A (zh) | 一种图表绘制方法、装置及计算机可读存储介质 | |
CN109814916B (zh) | 一种ivr流程的配置方法、装置、存储介质和服务器 | |
CN110768860B (zh) | 一种测试方法、测试装置及电子设备 | |
CN115456446A (zh) | 一种基于配置的业务流处理方法和装置 | |
CN115982257A (zh) | 接口创建方法以及相关设备 | |
CN115145652A (zh) | 一种数据处理任务的创建方法、装置、设备及介质 | |
CN115065945A (zh) | 短信链接生成方法、装置、电子设备及存储介质 | |
CN113515285B (zh) | 生成实时计算逻辑数据的方法和装置 | |
CN106570118B (zh) | 基于电力物资调配移动平台的报表数据处理系统及方法 | |
CN117290016B (zh) | 视图的页面配置方法及装置 | |
CN117435177B (zh) | 应用程序接口构建方法、系统、设备及存储介质 | |
CN117255127A (zh) | 一种前后端数据传输方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |