预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113992749A(43)申请公布日2022.01.28(21)申请号202111171520.5(22)申请日2021.10.08(71)申请人浪潮云信息技术股份公司地址250100山东省济南市高新区浪潮路1036号浪潮科技园S01号楼(72)发明人陈伟杨继伟赵美如江燕(74)专利代理机构济南信达专利事务所有限公司37100代理人姜鹏(51)Int.Cl.H04L67/56(2022.01)H04L67/02(2022.01)权利要求书2页说明书5页附图2页(54)发明名称一种基于go语言的http反向代理方法及系统(57)摘要本发明公开了一种基于go语言的http反向代理方法及系统,属于计算机软件领域;所述的方法具体步骤如下:S1接受调用端发来的http请求,并把http请求封装成req对象;S2从req对象中的header中获取token数据,检查该token数据是否符合校验规则;S3从规则库查询目标服务器地址,修改http请求参数;S4将http请求发送到目标服务器并接受http响应报文;S5根据规则修改http相应报文,并返回至调用端;发明可以根据用户需要定义个性化操作,针对用户配置http请求和http响应报文中的参数,配置信息存放到数据库中,配置后无需重启即可生效。CN113992749ACN113992749A权利要求书1/2页1.一种基于go语言的http反向代理方法,其特征是所述的方法具体步骤如下:S1接受调用端发来的http请求,并把http请求封装成req对象;S2从req对象中的header中获取token数据,检查该token数据是否符合校验规则;S3从规则库查询目标服务器地址,修改http请求参数;S4将http请求发送到目标服务器并接受http响应报文;S5根据规则修改http相应报文,并返回至调用端。2.根据权利要求1所述的方法,其特征是所述S2从req对象中的header中获取token数据,检查该token数据是否符合校验规则的具体步骤如下:S201如果不符合校验规则,则拒绝继续执行并返回对应错误;S202如果符合校验规则,则继续执行。3.根据权利要求2所述的方法,其特征是所述S3从规则库查询目标服务器地址,修改http请求参数的具体步骤如下:S301将设置的规则数据保存在数据库中;S302从req对象中获取header、body、url等数据,根据规则数据,修改其中的信息并赋值到outReq对象中。4.根据权利要求3所述的方法,其特征是所述S301将设置的规则数据保存在数据库中的具体步骤包括:S3011数据库保存对header的操作;S3012数据库保存对url、http状态码的操作;S3013数据库保存对body的增加、删除、修改属性的操作。5.根据权利要求4所述的方法,其特征是所述S4将http请求发送到目标服务器并接受http响应报文的具体步骤如下:S401声明transport,根据规则,生成新的url地址;S402使用transport.RoundTrip对象把outReq对象发送到目标服务器,并接受返回的res对象。6.根据权利要求5所述的方法,其特征是所述S5根据规则修改http相应报文,并返回至调用端的具体步骤如下:S501把res对象数据赋值给rw对象;S502赋值过程中,根据查出的规则数据,修改http响应数据的头信息、body体信息和状态码;S503利用反向代理服务器把rw对象作为响应数据返回给调用端。7.一种基于go语言的http反向代理系统,其特征是所述的系统具体包括请求封装模块、请求校验模块、参数修改模块、规则设置模块和报文返回模块:请求封装模块:接受调用端发来的http请求,并把http请求封装成req对象;请求校验模块:从req对象中的header中获取token数据,检查该token数据是否符合校验规则;参数修改模块:从规则库查询目标服务器地址,修改http请求参数;规则设置模块:将http请求发送到目标服务器并接受http响应报文;报文返回模块:根据规则修改http相应报文,并返回至调用端。2CN113992749A权利要求书2/2页8.根据权利要求7所述的系统,其特征是所述请求校验模块具体包括校验错误模块和校验符合模块:校验错误模块:如果不符合校验规则,则拒绝继续执行并返回对应错误;校验符合模块:如果符合校验规则,则继续执行。9.根据权利要求8所述的系统,其特征是所述参数修改模块具体包括规则保存模块和信息处理模块:规则保存模块:将设置的规则数据保存在数据库中;信息处理模块:从req对象中获取header、body、url等数据,根据规则数据,修改其中的信息并赋值到outR