首页> 中国专利> 一种统一资源定位符URL的处理方法及装置

一种统一资源定位符URL的处理方法及装置

摘要

本申请公开了一种统一资源定位符URL的处理方法,由所述终端设备执行,所述终端设备首先获取基于用户操作生成的第一URL,所述第一URL为基于HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数。所述终端设备在获取到所述第一URL后,根据所述第一URL,匹配其对应的URL转换模型,其中,所述第一URL对应的URL转换模型用于将所述第一URL转换为与目标服务器URL格式相匹配的URL。之后,利用与所述第一URL匹配的URL转换模型,对所述第一URL进行转换,得到转换后的第二URL,所述第二URL符合所述目标服务器的解析规则。最后,所述终端设备向所述目标服务器发送所述第二URL。

著录项

  • 公开/公告号CN112650955A

    专利类型发明专利

  • 公开/公告日2021-04-13

    原文格式PDF

  • 申请/专利权人 中国农业银行股份有限公司;

    申请/专利号CN202011623848.1

  • 申请日2020-12-30

  • 分类号G06F16/955(20190101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人刘晓菲

  • 地址 100005 北京市东城区建国门内大街69号

  • 入库时间 2023-06-19 10:35:20

说明书

技术领域

本申请涉及通信技术领域,特别是涉及一种统一资源定位符URL的处理方法及装置。

背景技术

用户通过浏览器访问服务器时,浏览器所在的终端设备通常会将用户请求的统一资源定位符(Uniform Resource Locator,URL)发送给目标服务器,但是终端设备发出的URL与目标服务器设定的URL格式不匹配时,该URL不能被目标服务器接收。例如,在iOS企业内部应用程序(Application,APP)下载安装的场景下,由于苹果公司要求向服务器发送的请求下载安装相关APP的URL不能带有参数,因此,若用户希望下载安装相关APP时,向目标服务器发送标准超文本传输协议(Hyper Text Transfer Protocol,HTTP)下,格式为:http://[域名]/[子目录1]/[子目录2]/...[子目录n]/[资源名]?[参数a=值m]&[参数b=值p]&...[参数n=值q]的URL,比如http://appstore.com/catalog/taobao.ipa?version=1.0.0&token=9527,则该URL不会被目标服务器接收。

针对终端设备发出的URL与目标服务器设定的URL格式不匹配时,目标服务器不能接收终端设备发出的URL的问题,当前,通常采用修改相关程序代码,重新构建项目的方法来解决。具体做法为:修改终端设备前端程序,改变请求和业务数据组织方式;或修改服务端程序,重新投产运行。无论修改终端设备的程序还是服务器的程序,均会造成服务在短时间内不可用,这种方法会大量增加研发、测试、投入生产过程的工作量,效率十分低下,用户体验不好。

因此,急需一种方案,可以解决上述问题。

发明内容

本申请所要解决的技术问题是,提供一种统一资源定位符URL的处理方法,以解决终端设备发出的URL与目标服务器设定的URL格式不匹配时,修改终端设备的程序或服务器的程序造成的,服务在短时间内不可用,大量增加研发、测试、投入生产过程的工作量,效率十分低下,用户体验不好的问题。

第一方面,本申请实施例提供了一种统一资源定位符URL的处理方法,所述方法包括:

获取第一URL,所述第一URL为基于超文本传输协议HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数;

根据所述第一URL匹配对应的URL转换模型;

利用与所述第一URL匹配的URL转换模型对所述第一URL进行转换,得到转换后的第二URL;

发送所述第二URL。

可选的,所述根据所述第一URL匹配对应的URL转换模型,包括:

根据所述第一URL中的域名、子目录和资源名,匹配得到第一转换模型,所述第一转换模型用于将所述第一URL转换成不包括参数的所述第二URL。

可选的,所述利用与所述第一URL匹配的URL转换模型对所述第一URL进行转换,包括:

获取所述第一URL中的至少一个参数的值;

根据所述第一转换模型,确定所述至少一个参数的值在转换后的URL的子目录中的位置;

根据所述至少一个参数的值在转换后的URL的子目录中的位置,对所述第一URL进行转换,得到所述第二URL。

可选的,所述根据所述第一URL匹配对应的URL转换模型,包括:

根据所述第一URL中的域名和参数,匹配得到第二转换模型,所述第二转换模型用于将所述第一URL中的部分或全部子目录转换成参数。

可选的,所述利用与所述第一URL匹配的URL转换模型对所述第一URL进行转换,包括:

获取所述第一URL中的至少一个子目录;

根据所述第二转换模型,确定所述至少一个子目录分别对应的变量名称;

根据所述第二转换模型,得到转换得到的URL中的参数格式;

根据所述转换得到的URL中的参数格式对所述第一URL进行转换,得到所述第二URL。

第二方面,本申请实施例提供了一种统一资源定位符URL的处理装置,所述装置包括:

获取模块,用于:获取第一URL,所述第一URL为基于超文本传输协议HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数;

匹配模块,用于:根据所述第一URL匹配对应的URL转换模型;

转换模块,用于:利用与所述第一URL匹配的URL转换模型对所述第一URL进行转换,得到转换后的第二URL;

发送模块,用于:发送所述第二URL。

可选的,所述匹配模块,用于:

根据所述第一URL中的域名、子目录和资源名,匹配得到第一转换模型,所述第一转换模型用于将所述第一URL转换成不包括参数的所述第二URL。

可选的,所述转换模块,用于:

获取所述第一URL中的至少一个参数的值;

根据所述第一转换模型,确定所述至少一个参数的值在转换后的URL的子目录中的位置;

根据所述至少一个参数的值在转换后的URL的子目录中的位置,对所述第一URL进行转换,得到所述第二URL。

可选的,匹配模块,用于:

根据所述第一URL中的域名和参数,匹配得到第二转换模型,所述第二转换模型用于将所述第一URL中的部分或全部子目录转换成参数。

可选的,所述转换模块,用于:

获取所述第一URL中的至少一个子目录;

根据所述第二转换模型,确定所述至少一个子目录分别对应的变量名称;

根据所述第二转换模型,得到转换得到的URL中的参数格式;

根据所述转换得到的URL中的参数格式对所述第一URL进行转换,得到所述第二URL。

与现有技术相比,本申请实施例具有以下优点:

本实施例提供了一种统一资源定位符URL的处理方法,由所述终端设备执行,所述终端设备首先获取基于用户操作生成的第一URL,所述第一URL为基于HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数。所述终端设备在获取到所述第一URL后,根据所述第一URL,匹配其对应的URL转换模型,其中,所述第一URL对应的URL转换模型用于将所述第一URL转换为与目标服务器URL格式相匹配的URL。之后,利用与所述第一URL匹配的URL转换模型,对所述第一URL进行转换,得到转换后的第二URL,所述第二URL符合所述目标服务器的解析规则。最后,所述终端设备向所述目标服务器发送所述第二URL。由此可见,所述终端设备在获取到所述第一URL后,会利用与所述第一URL匹配的URL转换模型,将所述第一URL转换为符合所述目标服务器的解析规则的第二URL。无需修改终端设备的程序或服务器的程序,即可利用所述第一URL实现对所述目标服务器的访问,从而提高工作效率,提升用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中一种统一资源定位符URL的处理方法的流程示意图;

图2为本申请实施例中一种统一资源定位符URL的处理装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的发明人经过研究发现,针对终端设备发出的URL与目标服务器设定的URL格式不匹配时,目标服务器不能接收终端设备发出的URL的问题,当前,通常采用修改相关程序代码,重新构建项目的方法来解决。具体做法为:修改终端设备前端程序,改变请求和业务数据组织方式;或修改服务端程序,重新投产运行。无论修改终端设备的程序还是服务器的程序,均会造成服务在短时间内不可用,这种方法会大量增加研发、测试、投入生产过程的工作量,效率十分低下,用户体验不好。

为了解决上述问题,本申请实施例提供了一种统一资源定位符URL的处理方法,由所述终端设备执行,所述终端设备首先获取基于用户操作生成的第一URL,所述第一URL为基于HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数。所述终端设备在获取到所述第一URL后,根据所述第一URL,匹配其对应的URL转换模型,其中,所述第一URL对应的URL转换模型用于将所述第一URL转换为与目标服务器URL格式相匹配的URL。之后,利用与所述第一URL匹配的URL转换模型,对所述第一URL进行转换,得到转换后的第二URL,所述第二URL符合所述目标服务器的解析规则。最后,所述终端设备向所述目标服务器发送所述第二URL。由此可见,所述终端设备在获取到所述第一URL后,会利用与所述第一URL匹配的URL转换模型,将所述第一URL转换为符合所述目标服务器的解析规则的第二URL。无需修改终端设备的程序或服务器的程序,即可利用所述第一URL实现对所述目标服务器的访问,从而提高工作效率,提升用户体验。

下面结合附图,详细说明本申请的各种非限制性实施方式。

参见图1,示出了本申请实施例中一种统一资源定位符URL的处理方法的流程示意图。图1所示的方法,在一种实现方式中,可以由终端设备执行。

在本实施例中,图1所示的方法例如可以通过以下步骤S101-S104实现。

S101:获取第一URL,所述第一URL为HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数。

在本实施例中,当用户触发某一访问目标服务器的操作后,所述终端设备基于用户操作生成的第一URL,其中,所述第一URL为基于HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数。

S102:根据所述第一URL匹配对应的URL转换模型。

S103:利用与所述第一URL匹配的URL转换模型对所述第一URL进行转换,得到转换后的第二URL。

考虑到所述第一URL可能与所述目标服务器设定的URL格式不匹配,直接向所述目标服务器发送所述第一URL,所述第一URL可能不会被所述目标服务器接收。因此,为了使所述用户能够成功访问所述目标服务器,可以将所述第一URL转换为匹配所述目标服务器设定格式的URL。为进行格式转换,所述终端设备首先根据所述第一URL,匹配与所述第一URL对应的URL转换模型,进而利用与所述第一URL匹配的URL转换模型,对所述第一URL进行转换,得到转换后的第二URL。由此可见,所述终端设备在获取到所述第一URL后,会利用与所述第一URL匹配的URL转换模型,将所述第一URL转换为符合所述目标服务器的解析规则的第二URL。无需修改终端设备的程序或服务器的程序,即可利用所述第一URL实现对所述目标服务器的访问,从而提高工作效率,提升用户体验。

需要说明的是,服务器可以设定接收到的URL中不能包括参数,还可以设定接收到的URL中子目录的个数。若所述目标服务器设定接收到的URL中不能包括参数,则当所述第一URL中包括参数时,为了使所述第一URL能够被所述目标服务器接收,可以按照与所述第一URL对应的URL转换模型,将所述第一URL中的参数的值转换到所述第一URL中的子目录中,得到所述第二URL,所述第二URL中不包括参数;若所述目标服务器接收到的URL中子目录的个数,例如为1个,则当所述第一URL中包括多个子目录时,为了使所述第一URL能够被所述目标服务器接收,可以按照与所述第一URL对应的URL转换模型,将所述第一URL中指定位置的子目录转换到所述第一URL的参数中,得到所述第二URL,所述第二URL中只含有1个子目录。

在一个示例中,所述终端设备可以根据所述第一URL中的域名、子目录和资源名,匹配得到第一转换模型,所述第一转换模型用于将所述第一URL转换成不包括参数的所述第二URL。需要说明的是,在进行匹配时,所述终端设备可以根据所述第一URL中的域名、子目录和资源名,在数据库中查找是否存在与所述第一URL中的域名、子目录和资源名对应的所述第一转换模型,其中,所述数据库用于存储将URL中的参数转换至子目录中的转换模型。如果所述数据库中存在所述第一转换模型,则说明可以根据所述第一转换模型,将所述第一URL转换成不包括参数的所述第二URL;如果不存在,则说明在发送所述第一URL时,无需将所述第一URL中的参数的值转换至子目录中。需要说明的是,在进行匹配时,还可以采用配置文件、利用redis或其他缓存系统、访问云服务等方法,与在数据库中进行匹配的方法相同,在此不再赘述。

例如,假设所述第一URL为http://appstore.com/catalog/taobao.ipa?version=1.0.0&token=9527,所述终端设备可以根据所述第一URL中的域名“appstore.com”,子目录“catalog”以及资源名“taobao.ipa”,在所述数据库中查找是否存在与域名“appstore.com”,子目录“catalog”以及资源名“taobao.ipa”这一组合相对应的转换模型,如果存在,则说明可以根据所述转换模型,将所述第一URL转换成不包括参数的所述第二URL;如果不存在,则说明在发送所述第一URL时,无需将所述第一URL中的参数的值转换至子目录中。

在得到所述第一转换模型后,可以利用所述第一转换模型,对所述第一URL进行转换,将所述第一URL中参数的值转换至子目录中。可以理解的是,在进行转换前,首先可以确定所述第一URL中待转换参数的值在转换后的URL的子目录中的位置,进而可以将所述第一URL中待转换参数的值转换至子目录中的相应位置。在一个示例中,所述终端设备在获取所述第一URL中的至少一个参数的值后,可以根据所述第一转换模型,确定所述至少一个参数的值在转换后的URL的子目录中的位置,进而将所述第一URL中待转换参数的值转换至子目录中的相应位置。

例如,假设所述第一URL为http://appstore.com/catalog/taobao.ipa?version=1.0.0&token=9527,可知其参数为“version=1.0.0&token=9527”,子目录为“catalog”。若所述第一转换模型指示:参数version的值“1.0.0”被转换为一级子目录,参数token的值“9527”被转换为二级子目录,则此时根据所述第一转换模型可以确定[“version”,“token”],[“version”,“token”]用于指示第一URL中的至少一个参数的值在转换后的URL的子目录中的位置,[“version”,“token”]的引号中的内容表示转换至子目录中的变量的名称,在转换时,将该变量名称对应的变量的值,按照该变量名称在所述[“version”,“token”]中的位置顺序,转换至子目录中的相应位置,转换后的所述第二URL为http://appstore.com/1.0.0/9527/taobao.ipa。

不难发现,上例中在进行转换时,由于所述第一转换模型设置了参数version的值“1.0.0”被转换为一级子目录,所述第一URL中的一级子目录“catalog”被参数version的值“1.0.0”覆盖。若所述第一转换模型为:原一级子目录不变,参数token的值“9527”被转换为二级子目录,参数version的值“1.0.0”被转换为三级子目录,则此时根据第一转换模型可以确定:[“”,“token”,“version”],[“”,“token”,“version”]中的“”表示保留第一URL中的一级子目录。经转换后,所述第二URL为http://taobao.com/catalog/9527/1.0.0/111.action。

上述示例说明了当服务器设定接收到的URL中不能包括参数时,所述终端设备根据所述第一转换模型,将所述第一URL中的参数的值转换到所述第一URL中的子目录中,得到所述第二URL,所述第二URL中不包括参数的情况。

下面对当服务器设定接收到的URL中子目录的个数时,所述终端设备将所述第一URL中指定位置的子目录转换到所述第一URL的参数中,得到所述第二URL,所述第二URL中只含有所述服务器设定的子目录个数的情况进行说明。

在一个示例中,所述终端设备可以首先根据所述第一URL中的域名和参数,匹配得到第二转换模型,所述第二转换模型用于将所述第一URL中的部分或全部子目录转换成参数。需要说明的是,在进行匹配时,所述终端设备可以根据所述第一URL中的域名和参数,在数据库中查找是否存在与所述第一URL中的域名和参数对应的所述第二转换模型,其中,所述数据库用于存储将URL中指定位置的子目录转换到所述第一URL的参数中的转换模型。如果所述数据库中存在所述第二转换模型,则说明可以根据所述第二转换模型,将所述第一URL中指定位置的子目录转换到所述第一URL的参数中;如果不存在,则说明在发送所述第一URL时,无需将所述第一URL中的子目录转换到所述第一URL的参数中。

可以理解的是,在将所述第一URL中指定位置的子目录转换到所述第一URL的参数中之前,首先可以确定子目录在转换得到的参数中对应的变量名称和转换得到的URL中的参数格式。其中,所述子目录在转换得到的参数中对应的变量名称用于描述该子目录的类型,所述子目录在转换得到的URL中的参数格式用于规定转换得到的URL中参数的显示格式。在一个示例中,所述终端设备在获取所述第一URL中的至少一个子目录后,可以根据所述第二转换模型,确定所述至少一个子目录分别对应的变量名称,并得到转换得到的URL中的参数格式。

例如,假设所述第一URL为http://taobao.com/store/catalog/product/111.action,根据第二转换模型,可知其一级子目录“store”对应的变量名称为“storeName”,二级子目录“catalog”对应的变量名称为“catalogName”,三级子目录“product”对应的变量名称为“productName”,根据所述第二转换模型,可以确定转换得到的URL的参数格式为:{“productName”:value1,“storeName”:value2},则可知,需要对一级子目录“store”和三级子目录“product”进行转换,二级子目录保留。根据所述第一URL以及第一URL中各子目录对应的变量名称可知,value1为product,value2为store,则根据所述转换得到的URL中的参数格式、所述三级子目录product和所述一级子目录store,对所述第一URL进行转换,得到的所述第二URL为http://taobao.com/catalog/111.action?productName=product&storeName=store。

在一个示例中,可以对所述第一URL进行解析,进而将解析得到的所述第一URL中的各级子目录依次放在一个数组中,得到的数组例如可以为[“store”,“catalog”,“product”]。此时,根据所述第二转换模型得到的,转换得到的URL中的参数格式可以为:{“productName”:$3,“storeName”:$1},其中,“$3”用于索引所述第一URL的数组中的第三个元素位置的存储内容,,“$1”用于索引所述第一URL的数组中的第一个元素位置的存储内容。采用这种方式,可以直接根据所述参数格式中$3获得所述第一URL的数组中第三个元素位置的存储内容“product”,根据所述参数格式中的$1获得所述第一URL的数组中第一个元素位置的存储内容“store”,从而得到转换后的第二URL:http://taobao.com/catalog/111.action?productName=product&storeName=store。

在一个示例中,所述终端设备可以根据所述第二转换模型,将所述第一URL中的全部子目录转换到所述第一URL的参数中。例如,当所述第一URL为假设所述第一URL为http://taobao.com/store/catalog/product/111.action时,根据第二转换模型,可知其一级子目录“store”对应的变量名称为“storeName”,二级子目录“catalog”对应的变量名称为“catalogName”,三级子目录“product”对应的变量名称为“productName”,根据所述第二转换模型,可以确定转换得到的URL的参数格式为:{“productName”:value1,“storeName”:value2,“catalogName”:value3},则可知,需要对一级子目录“store”、二级子目录“catalog”和三级子目录“product”进行转换。根据所述第一URL以及第一URL中各子目录对应的变量名称可知,value1为product,value2为store,value3为catalog,则根据所述转换得到的URL中的参数格式、所述三级子目录product、所述一级子目录store以及所述二级子目录catalog,对所述第一URL进行转换,得到的所述第二URL为http://taobao.com/111.action?productName=product&storeName=store&catalogName=catalog。

需要说明的是,当根据所述第二转换模型确定出,所述第一URL中的至少一个子目录在转换得到的参数中对应的变量名称,与所述第一URL中的参数的名称相同时,在将所述子目录转换到所述第一URL的参数中时,所述第一URL中的该参数的值可以被所述子目录覆盖。例如,假设所述第一URL为http://taobao.com/store/catalog/product/111.action?productName=newone,若所述第二转换模型指示对一级子目录“store”和三级子目录“product”进行转换,其中,一级子目录对应的变量名称是“storeName”,三级子目录对应的变量名称是“productName”;转换得到的URL中的参数格式为:“productName”=value1&“storeName”=value 2,例如可以为:{“productName”:$3,“storeName”:$1},可以发现,所述第一URL中存在参数名为“productName”的参数,与所述三级子目录对应的变量名称相同,则在转换时,所述第一URL中的该参数的值newone可以被所述三级子目录“product”覆盖,得到的所述第二URL为http://taobao.com/catalog/111.action?productName=product&storeName=store。

S104:发送所述第二URL。

在本实施例中,所述终端设备在得到与所述目标服务器规定的URL格式相匹配的所述第二URL后,可以将所述第二URL发送给所述目标服务器,实现所述用户对所述目标服务器的访问。

基于以上实施例提供的方法,本申请实施例还提供了一种装置,以下结合附图介绍该装置。

参见图2,示出了本申请实施例中一种统一资源定位符URL的处理装置的结构示意图。应用于终端设备,所述装置例如可以具体包括:

获取模块201:用于获取第一URL,所述第一URL为基于超文本传输协议HTTP的URL,所述第一URL包括:域名、子目录、资源名和参数;

匹配模块202:用于根据所述第一URL匹配对应的URL转换模型;

转换模块203:用于利用与所述第一URL匹配的URL转换模型对所述第一URL进行转换,得到转换后的第二URL;

发送模块204:用于发送所述第二URL。

通过这一装置,所述终端设备在获取到所述第一URL后,会利用与所述第一URL匹配的URL转换模型,将所述第一URL转换为符合所述目标服务器的解析规则的第二URL。无需修改终端设备的程序或服务器的程序,即可利用所述第一URL实现对所述目标服务器的访问,从而提高工作效率,提升用户体验。

在一种实现方式中,所述匹配模块,用于:

根据所述第一URL中的域名、子目录和资源名,匹配得到第一转换模型,所述第一转换模型用于将所述第一URL转换成不包括参数的所述第二URL。

在一种实现方式中,所述转换模块,用于:

获取所述第一URL中的至少一个参数的值;

根据所述第一转换模型,确定所述至少一个参数的值在转换后的URL的子目录中的位置;

根据所述至少一个参数的值在转换后的URL的子目录中的位置,对所述第一URL进行转换,得到所述第二URL。

在一种实现方式中,匹配模块,用于:

根据所述第一URL中的域名和参数,匹配得到第二转换模型,所述第二转换模型用于将所述第一URL中的部分或全部子目录转换成参数。

在一种实现方式中,所述转换模块,用于:

获取所述第一URL中的至少一个子目录;

根据所述第二转换模型,确定所述至少一个子目录分别对应的变量名称;

根据所述第二转换模型,得到转换得到的URL中的参数格式;

根据所述转换得到的URL中的参数格式对所述第一URL进行转换,得到所述第二URL。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号