网络请求方法及装置、终端设备、存储介质与流程

文档序号:26146402发布日期:2021-08-03 14:32阅读:78来源:国知局
网络请求方法及装置、终端设备、存储介质与流程

本申请涉及网络通信技术领域,尤其涉及一种网络请求方法及装置、终端设备、存储介质。



背景技术:

当前,终端设备在通过浏览器进行网络请求时,往往需要依赖稳定的网络以及稳定的资源服务器,才能实现较为高效、可靠的网络连接。然而,在实践中发现,终端设备在因dns(domainnamesystem,域名系统)劫持、网络波动等原因而导致网络请求失败的情况下,只能采取反复刷新的方式尝试重新请求,否则只能简单地反馈网络错误的情况,这通常无法解决网络请求失败的问题,从而大大降低了终端设备进行网络请求的成功率,也降低了终端设备网络连接的可靠性。



技术实现要素:

本申请实施例公开了一种网络请求方法及装置、终端设备、存储介质,能够提升终端设备进行网络请求的成功率,从而提高终端设备网络连接的可靠性。

本申请实施例第一方面公开一种网络请求方法,应用于终端设备,所述方法包括:

响应网页链接请求,根据所述网页链接请求对应的网页域名生成域名解析请求;

向一个或多个域名系统dns服务器发送所述域名解析请求,并获取所述dns服务器针对所述域名解析请求反馈的多个网络地址;

依次向各个所述网络地址发送访问请求,若接收到目标网络地址响应所述访问请求的响应信息,则从所述目标网络地址获取网页资源。

本申请实施例第二方面公开一种网络请求装置,应用于终端设备,所述网络请求装置包括:

请求生成单元,用于响应网页链接请求,根据所述网页链接请求对应的网页域名生成域名解析请求;

域名解析单元,用于向一个或多个域名系统dns服务器发送所述域名解析请求,并获取所述dns服务器针对所述域名解析请求反馈的多个网络地址;

网络请求单元,用于依次向各个所述网络地址发送访问请求,若接收到目标网络地址响应所述访问请求的响应信息,则从所述目标网络地址获取网页资源。

本申请实施例第三方面公开了一种终端设备,其包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如本申请实施例第一方面公开的任意一种网络请求方法中的全部或部分步骤。

本申请实施例第四方面公开了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如本申请实施例第一方面公开的任意一种网络请求方法中的全部或部分步骤。

与相关技术相比,本申请实施例具有以下有益效果:

本申请实施例中,终端设备可以通过浏览器等应用程序来响应网页链接请求,并根据该网页链接请求对应的网页域名生成域名解析请求,进而可以向一个或多个域名系统dns服务器发送该域名解析请求,以获取dns服务器针对该域名解析请求反馈的多个网络地址。在此基础上,终端设备可以依次向上述各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则可以从该目标网络地址获取网页资源。可见,实施本申请实施例,终端设备在进行网络请求时,能够利用一个或多个dns服务器获取网页域名对应的多个网络地址,从而即使在面临dns劫持、网络波动等意外因素的情况下,也能够通过上述多个网络地址进行多次网络请求的不同尝试,而不必仅针对某一个网络地址进行反复刷新,尽可能避免了网络请求失败的情况出现,有效提升了终端设备进行网络请求的成功率。此外,这样的网络请求方式还能够使得终端设备与所需访问的资源服务器之间的网络连接更灵活可靠,即便偶尔中断也能够利用丰富的网络地址资源快速重连,从而有效提高了终端设备网络连接的可靠性。

附图说明

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

图1是本申请实施例公开的一种网络请求方法的应用场景示意图;

图2是本申请实施例公开的一种网络请求方法的流程示意图;

图3是本申请实施例公开的终端设备与多个dns服务器的连接关系示意图;

图4是本申请实施例公开的另一种网络请求方法的流程示意图;

图5是本申请实施例公开的又一种网络请求方法的流程示意图;

图6是本申请实施例公开的终端设备与多个dns服务器以及查询服务器的连接关系示意图;

图7是本申请实施例公开的一种网络请求装置的模块化示意图;

图8是本申请实施例公开的一种终端设备的模块化示意图。

具体实施方式

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

需要说明的是,本申请实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例公开了一种网络请求方法及装置、终端设备、存储介质,能够提升终端设备进行网络请求的成功率,从而提高终端设备网络连接的可靠性。

以下将结合附图进行详细描述。

请参阅图1,图1是本申请实施例公开的一种网络请求方法的应用场景示意图,包括终端设备10、域名系统dns(domainnamesystem)服务器20以及资源服务器30。其中,终端设备10可以与dns服务器20建立通信连接,并通过该dns服务器20获取资源服务器30的网络地址,进而可以基于该网络地址请求与该资源服务器30建立网络连接。上述网络地址即ip(internetprotocol,网际互连协议)地址,可以用于表示设备在互联网中唯一确定的逻辑地址。

示例性地,上述终端设备10可以包括具备网络功能的各类设备或系统,如手机、智能可穿戴设备、车载终端、平板电脑、pc(personalcomputer,个人电脑)、pda(personaldigitalassistant,个人数字助理)等,本申请实施例中不作具体限定。

在本申请实施例中,终端设备10可以通过浏览器等应用层软件发起网络请求,以通过网络层接口请求与资源服务器30建立网络连接,从而可以访问该资源服务器30上的网页资源。需要说明的是,终端设备10通常只能获取资源服务器30对应的网页域名,例如用户向该终端设备10输入的网页链接、在该终端设备10本地存储的网页地址等,而基于网页域名无法直接向资源服务器30发起网络请求,因此该终端设备10需要通过dns服务器20先对该网页域名进行解析,获取与该网页域名对应的网络地址(即上述资源服务器30对应的网络地址),然后才能根据该网络地址向资源服务器30发起网络请求。

其中,上述dns服务器20的数量可以为一个或多个。示例性地,如图1所示,终端设备10可以分别与n个(n为正整数)dns服务器20建立通信连接,并在需要针对资源服务器30对应的网页域名进行域名解析时,同时或依次向该n个dns服务器发送包含上述网页域名的域名解析请求,以获取该n个dns服务器所返回的网络地址。

具体地,终端设备10在其浏览器等应用获取网页链接请求之后,可以响应该网页链接请求,获取该网页链接请求对应的网页域名,进而可以根据该网页域名生成相应的域名解析请求。然后,终端设备10可以向一个或多个dns服务器20发送上述域名解析请求,以指示dns服务器20对该域名解析请求所包含的上述网页域名进行解析,并将解析所得到的多个网络地址发送回终端设备10,从而该终端设备10可以获取到dns服务器20所反馈的多个网络地址。在此基础上,终端设备10可以依次向上述各个网络地址发送访问请求,当接收到目标网络地址(即首个成功响应该访问请求的资源服务器30对应的网络地址)响应该访问请求的响应信息时,则可以从该网络地址获取网页资源,成功建立终端设备10与资源服务器30之间的通信连接。

通过实施上述方法,终端设备10能够获取到资源服务器30(即上述网页链接请求对应的网页资源所处的服务器)对应的多个网络地址,从而即使在面临dns劫持、网络波动等意外因素的情况下,也能够通过上述多个网络地址进行多次网络请求的不同尝试,大大提升了终端设备10向资源服务器30进行网络请求的成功率。同时,还使得终端设备10与资源服务器30之间的网络连接更灵活可靠,即便偶尔中断也能够利用丰富的网络地址资源快速重连,从而有效提高了终端设备10进行网络连接的可靠性。

请参阅图2,图2是本申请实施例公开的一种网络请求方法的流程示意图,该方法可以应用于上述的终端设备。如图2所示,该网络请求方法可以包括以下步骤:

202、响应网页链接请求,根据该网页链接请求对应的网页域名生成域名解析请求。

在本申请实施例中,终端设备可以通过浏览器等应用来请求获取资源服务器上的网页资源,即向该资源服务器发起相应的网络请求。在一些实施例中,终端设备可以主动发起网络请求,例如通过用户输入或本地调用的网页链接(网页地址)来确定资源服务器的网络地址,进而可以向该网络地址发送访问请求。在另一些实施例中,终端设备也可以响应服务端(如资源服务器、第三方服务器等)的指令,获取来自于服务端的网页链接(网页地址),并据此确定资源服务器的网络地址,进而作为客户端的终端设备也可以向该网络地址发送相应的访问请求。

为实现上述网络请求的发起,无论是在主动还是被动的情形下,终端设备均可以先检测相应的网页链接请求,并对该网页链接请求进行响应。具体地,终端设备可以响应其检测到的网页链接请求,获取该网页链接请求对应的网页域名,进而可以根据该网页域名生成相应的域名解析请求,以在后续步骤中请求dns服务器对该网页域名进行解析,得到资源服务器对应的网络地址,从而终端设备可以根据该网络地址向资源服务器发起上述网络请求。

具体举例来说,当用户通过终端设备的浏览器输入指定的网页链接,并确定访问该网页链接时,浏览器可以接收到相应的网页链接请求,并从该网页链接请求所包含的上述网页链接中提取对应的域名地址。例如,用户输入的网页链接为https://xxx.xxx.xx/y/z,则终端设备可以从相应的网页链接请求中提取得到域名地址xxx.xxx.xx。在此基础上,终端设备可以根据该域名地址生成域名解析请求,该域名解析请求可以包含该域名地址,并用于请求dns服务器对该域名地址进行解析。可以理解的是,终端设备在启动上述浏览器时,可以先进行相应的初始化,激活并配置该浏览器的各类功能模块(如输入模块、域名解析模块、网络请求模块、网络状态监控模块等),然后再执行上述响应网页链接请求的相关步骤。

204、向一个或多个域名系统dns服务器发送上述域名解析请求,并获取dns服务器针对该域名解析请求反馈的多个网络地址。

在本申请实施例中,终端设备可以与一个或多个dns服务器建立通信连接,以通过该通信连接向相应的dns服务器发送上述域名解析请求。示例性地,请参阅图3,图3是本申请实施例公开的终端设备与多个dns服务器的连接关系示意图。如图3所示,终端设备10可以分别与多个dns服务器20一一连接,各个dns服务器20之间可以互不影响,从而终端设备10可以独立地向每个dns服务器20发送上述域名解析请求,并获取各个dns服务器20针对该域名解析请求分别反馈的多个网络地址。

需要说明的是,正常情况下,上述每个dns服务器均可以向终端设备反馈一个以上的网络地址,即每个dns服务器均可以存储有多个与资源服务器对应的网页域名相匹配的网络地址,从而可以确保终端设备最终能够获取多个用于向资源服务器发起网络请求的不同网络地址。其中,上述多个网络地址可以包括资源服务器为实现负载均衡而设置的多个用于访问该资源服务器的网络地址,以使得该资源服务器可以应对较大流量的网络请求;也可以包括资源服务器设置的用于不同条件下的终端设备分别访问的网络地址,如用于不同设备类型的终端设备(包括智能手机、智能可穿戴设备、电脑等)访问的不同网络地址、用于不同地理位置的网络设备访问的不同网络地址等。

当终端设备可以分别与多个dns服务器建立通信连接时,在一些实施例中,终端设备可以同时向该多个dns服务器发送上述域名解析请求,以同时获取各个dns服务器解析得到的网络地址,从而可以得到数量尽可能多的网络地址,有利于在后续向资源服务器发起网络请求时进行多次尝试,提升终端设备进行网络请求的成功率。

在另一些实施例中,终端设备也可以按照一定的排列顺序依次向各个dns服务器发送上述域名解析请求,并在向每个dns服务器发送该域名解析请求后检测该dns服务器的反馈信息,根据该反馈信息确定是否继续向下一个dns服务器发送相应的域名解析请求。具体地,当该dns服务器反馈不符合指定要求的解析结果(如该dns服务器反馈0个或1个网络地址)时,终端设备可以继续向下一个dns服务器发送上述域名解析请求;当该dns服务器反馈符合指定要求的解析结果(如该dns服务器反馈2个或以上网络地址)时,则终端设备可以停止向下一个dns服务器发送域名解析请求。这样的域名解析方式能够减少对dns服务器资源的消耗,确保终端设备能够获取一定数量而数量不过多的网络地址,有利于平衡终端设备进行网络请求的成功率和耗时,从而提升用户浏览网页资源的体验。

206、依次向各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

在本申请实施例中,终端设备在获取上述多个网络地址之后,可以将该多个网络地址统一存储在终端设备本地的网络地址列表保存模块中。在此基础上,终端设备可以依次从该保存模块中逐个获取其存储的网络地址,并生成针对上述资源服务器的访问请求,从而可以依次向各个网络地址发送相应的访问请求,直至成功访问该资源服务器,或者遍历尝试全部网络地址。

其中,上述访问请求指的是请求资源服务器与终端设备建立通信连接的网络请求,终端设备可以通过该通信连接访问处于该资源服务器的网页资源。示例性地,该访问请求可以包括http(hypertexttransferprotocol,超文本传输协议)请求、tcp(transmissioncontrolprotocol,传输控制协议)握手请求等,对于应用层而言,则通常指http请求。

具体地,终端设备在向某一网络地址发送相应的访问请求之后,若接收到目标网络地址响应该访问请求的响应信息,则可以表示该终端设备成功建立与资源服务器之间的通信连接。在该资源服务器正常运行,且存储有与上述网页链接请求对应的网页资源的情况下,终端设备可以从该目标网络地址获取上述网页资源。可以理解的是,上述目标网络地址可以指首个成功响应该访问请求的资源服务器对应的网络地址。

可见,实施上述实施例所描述的网络请求方法,终端设备在进行网络请求时,能够利用一个或多个dns服务器获取资源服务器对应的多个网络地址,从而即使在面临dns劫持、网络波动等意外因素的情况下,也能够通过上述多个网络地址进行多次网络请求的不同尝试,而不必仅针对某一个网络地址进行反复刷新,尽可能避免了网络请求失败的情况出现,有效提升了终端设备进行网络请求的成功率。此外,这样的网络请求方式还能够使得终端设备与资源服务器之间的网络连接更灵活可靠,即便偶尔中断也能够利用丰富的网络地址资源快速重连,从而有效提高了终端设备网络连接的可靠性。

请参阅图4,图4是本申请实施例公开的另一种网络请求方法的流程示意图,该方法可以应用于上述的终端设备。如图4所示,该网络请求方法可以包括以下步骤:

402、响应网页链接请求,根据该网页链接请求对应的网页域名生成域名解析请求。

其中,步骤402与上述步骤202类似,此处不再赘述。

404、分别向多个dns服务器发送上述域名解析请求,该域名解析请求用于指示dns服务器对上述网页域名进行解析,并将解析得到的与该网页域名匹配的网络地址添加到网络地址集合中。

在本申请实施例中,终端设备在响应网页链接请求生成相应的域名解析请求之后,可以将该域名解析请求发送至与其建立通信连接的多个dns服务器,以通过该多个dns服务器对上述网页链接请求包含的网页域名进行解析。具体地,终端设备可以同时将上述域名解析请求分别发送至该多个dns服务器,也可以按照一定的排列顺序(如按照服务器空闲程度从高到低排序、按照服务器地理位置从近到远排序、按照服务器dns更新日期从近到远排序等),依次向各个dns服务器发送上述域名解析请求。

dns服务器在接收到上述域名解析请求之后,可以根据该域名解析请求的指示,对该域名解析请求中包含的网页域名进行解析,该网页域名即上述网页链接请求对应的网页域名,可以用于标识资源服务器。通过解析得到与该网页域名匹配的网络地址(即上述资源服务器对应的网络地址),dns服务器可以为终端设备提供资源服务器在互联网中唯一确定的逻辑位置,从而终端设备可以根据该网络地址准确地向资源服务器发起网络请求。具体地,上述多个dns服务器中的每个dns服务器均可以在上述域名解析请求的指示下,将解析得到的与该网页域名匹配的网络地址添加到网络地址集合中,进而可以将该网络地址集合打包发送至终端设备,从而终端设备可以在后续步骤中接收到每个dns服务器发送的网络地址集合,以获得数量尽可能多的网络地址,有利于在进一步向资源服务器发起网络请求时进行多次尝试,提升终端设备进行网络请求的成功率。

406、获取每个dns服务器发送的网络地址集合,并根据各个网络地址集合生成第一网络地址列表。

示例性地,终端设备在获取每个dns服务器发送的网络地址集合之后,可以将各个网络地址集合包含的网络地址分别添加至其内置的网络地址列表保存模块中,从而形成第一网络地址列表。终端设备可以在后续步骤中依次从该保存模块中逐个获取其存储的网络地址,并生成针对上述资源服务器的访问请求,从而可以依次向第一网络地址列表中的各个网络地址发送相应的访问请求,尝试与资源服务器建立通信连接。

408、依次向第一网络地址列表中的各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

其中,步骤408与上述步骤206类似。需要说明的是,终端设备依次向第一网络地址列表中的各个网络地址发送相应的访问请求,可以直至成功访问资源服务器为止,即当终端设备接收到目标网络地址响应该访问请求的响应信息时,可以停止向第一网络地址列表中的下一个网络地址发送访问请求。在此基础上,终端设备可以通过上述目标网络地址与资源服务器建立通信连接,进而可以从该目标网络地址获取存储于资源服务器的网页资源,成功响应上述网页链接请求。

在一些实施例中,当终端设备遍历第一网络地址列表中的全部网络地址,均未接收到针对其发送的访问请求的响应信息时,可以确定该第一网络地址列表中的全部网络地址均无法访问资源服务器,此时终端设备生成相应的错误报告,并可以停止响应上述网页链接请求。

作为一种可选的实施方式,终端设备在向上述多个dns服务器发送域名解析请求时,还可以按照该多个dns服务器的排列顺序逐个发送,并在逐个向dns服务器发送域名解析请求时,根据当前发送的dns服务器所反馈的信息,确定是否需要继续发送。示例性地,终端设备可以按照多个dns服务器的排列顺序(如按照服务器空闲程度从高到低排序、按照服务器地理位置从近到远排序、按照服务器dns更新日期从近到远排序等),确定出当前dns服务器,并向该当前dns服务器发送上述域名解析请求。若终端设备接收到当前dns服务器返回的网络地址集合,则可以根据该网络地址集合生成第二网络地址列表;若终端设备接收到当前dns服务器返回的解析失败信息,则可以向排列在该当前dns服务器之后的下一dns服务器继续发送域名解析请求,直至获取到dns服务器返回的网络地址集合为止。

具体举例来说,终端设备可以按照与其连接的dns服务器的地理位置从近到远的顺序,先将距离最近的dns服务器确定为当前dns服务器,并向该当前dns服务器发送上述域名解析请求。若该当前dns服务器成功解析上述网页域名,得到相应的网络地址集合,则终端设备在接收到当前dns服务器返回的该网络地址集合之后,可以停止向其他dns服务器发送上述域名解析请求;若该当前dns服务器未能成功解析上述网页域名,则可以向终端设备返回解析失败信息,终端设备在接收到该解析失败信息之后,可以将距离次近的dns服务器确定为当前dns服务器,并重新向该当前dns服务器发送上述域名解析请求。上述过程可以重复进行,直至终端设备获取到dns服务器返回的网络地址集合。

在此基础上,终端设备可以将dns服务器返回的网络地址集合中的网络地址添加到其内置的网络地址列表保存模块中,从而形成第二网络地址列表。在后续步骤中,终端设备可以依次向该第二网络地址列表中的各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则可以从该目标网络地址获取网页资源,成功响应上述网页链接请求。这样的域名解析方式能够减少对dns服务器资源的消耗,确保终端设备能够获取一定数量而数量不过多的网络地址,有利于平衡终端设备进行网络请求的成功率和耗时,从而提升用户浏览网页资源的体验。

可见,实施上述实施例所描述的网络请求方法,能够利用一个或多个dns服务器获取资源服务器对应的多个网络地址,从而能够通过上述多个网络地址进行多次网络请求的不同尝试,尽可能避免了网络请求失败的情况出现,有效提升了终端设备进行网络请求的成功率;同时,还能够使得终端设备与资源服务器之间的网络连接更灵活可靠,有效提高了终端设备网络连接的可靠性;此外,通过不同的方式向多个dns发送域名解析请求,能够平衡终端设备进行网络请求的成功率和耗时,在尽可能提高网络请求成功率,以提升用户浏览网页资源体验的同时,也减少了对dns服务器资源的消耗。

请参阅图5,图5是本申请实施例公开的又一种网络请求方法的流程示意图,该方法可以应用于上述的终端设备。如图5所示,该网络请求方法可以包括以下步骤:

502、响应网页链接请求,根据该网页链接请求对应的网页域名生成域名解析请求。

504、向一个或多个域名系统dns服务器发送上述域名解析请求,并获取dns服务器针对该域名解析请求反馈的多个网络地址。

506、依次向各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

其中,步骤502、步骤504以及步骤506与上述步骤202、步骤204以及步骤206类似,此处不再赘述。

508、若未接收到dns服务器反馈的网络地址,响应查询指令,根据上述网页域名生成域名查询请求。

需要说明的是,步骤508可以紧接在步骤504之后执行。

在本申请实施例中,当终端设备向一个或多个dns服务器发送上述域名解析请求之后,若未接收到任何一个dns服务器针对该域名解析请求反馈的网络地址,即表示上述dns服务器均未存储有与该域名解析请求所包含的网页域名相匹配的网络地址。在此情况下,终端设备可以响应查询指令,根据上述网页域名生成相应的域名查询请求,该域名查询请求可以用于后续指示查询服务器针对上述网页域名进行最后一次查询,以获取与该网页域名匹配的网络地址。

示例性地,若dns服务器在域名解析请求的指示下未能查询到与上述网页域名匹配的网络地址,则可以向终端设备发送解析失败信息,该解析失败信息可以包括该dns服务器的网络地址以及相应的解析失败标识等。在此基础上,终端设备可以根据其接收到的解析失败信息,触发查询指令。具体地,终端设备在接收到该解析失败信息后,可以进一步查询与其建立通信连接的dns服务器中是否还存在未返回解析失败信息的其他dns服务器。当终端设备查询到全部dns服务器均返回解析失败信息(例如判断出终端设备接收的解析失败信息数量与其连接的dns服务器数量相等),则可以确认未能接收到dns服务器反馈的网络地址,金额可以触发上述查询指令。

进一步地,终端设备可以响应该查询指令,从上述网页链接指令中获取对应的网页域名,并根据该网页域名生成相应的域名查询请求。区别于上述域名解析请求,终端设备可以将该域名查询请求发送至查询服务器,以在后续步骤中通过查询服务器对该网页域名进行相关数据的分析及进一步查询。其中,上述相关数据可以包括终端设备所获取的各个dns服务器返回的解析失败信息、历史查询结果、历史访问记录等,以助于终端设备尽可能查询到与该网页域名匹配的网络地址。

510、向查询服务器发送域名查询请求,并获取查询服务器针对该域名查询请求反馈的第三网络地址列表。

示例性地,终端设备可以与查询服务器建立通信连接,并向该查询服务器发送上述域名查询请求。示例性地,如图6所示,终端设备10除了与多个dns服务器20连接外,还可以与查询服务器40连接。在此基础上,若查询服务器查询到与上述网页域名匹配的网络地址,则可以将其查询到的网络地址所构成的第三网络地址列表发送至终端设备。终端设备接收该第三网络地址列表,然后可以在后续步骤中针对该第三网络地址列表中的网络地址发送相应的访问请求。

在一些实施例中,域名查询请求可以指示查询服务器根据上述解析失败信息、历史查询结果、历史访问记录等相关数据进行分析,以获取与上述网页域名匹配的网络地址。示例性地,终端设备在未接收到dns服务器反馈的网络地址时,可以采集其接收到的各个dns服务器返回的解析失败信息、终端设备通过查询服务器进行查询的历史查询结果、终端设备的历史访问记录等相关信息,并根据该相关信息以及上述网页域名生成上述域名查询请求。查询服务器在接收到该域名查询请求后,可以获取其中的相关信息以及网页域名,并结合该相关信息对该网页域名进行分析,例如分析查询服务器中是否存在相关信息相似的其他网页域名、相关信息匹配的网络地址等,从而可以尽可能查询到与该网页域名匹配的网络地址,并将其添加到第三网络地址列表中。

在另一些实施例中,域名查询请求可以指示查询服务器对上述网页域名进行自适应纠错,并重新对修正后的网页域名进行解析,以获取可能与原始网页域名匹配的网络地址。示例性地,终端设备所获取的原始网页域名可能会因为用户输入错误、存储错误等情况而出错,当查询服务器从其接收到该域名查询请求中获取原始网页域名之后,可以根据终端设备的历史访问记录、网页流量趋势等综合确定原始网页域名的置信度。若该置信度低于置信度阈值,则查询服务器可以将该原始网页域名修正为满足置信度阈值的近似网页域名,并针对该近似网页域名进行解析,以获取与该近似网页域名匹配的网络地址,并将其添加到第三网络地址列表中。

512、依次向第三网络地址列表中的各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

其中,步骤512与上述步骤408类似,此处不再赘述。

在一些实施例中,终端设备在依次向多个网络地址发送访问请求时,可以根据各个网络地址的响应情况确定是否继续向其他网络地址发送访问请求。示例性地,终端设备可以先向第一网络地址发送访问请求,其中,该第一网络地址可以为上述多个网络地址中的任一网络地址。若终端设备在第二时长内未接收到该第一网络地址响应上述访问请求的响应信息,或者接收到该第一网络地址的响应信息中包含访问错误信息,则可以向上述多个网络地址中排列在该第一网络地址之后的第二网络地址发送访问请求。

具体举例来说,终端设备在向第一网络地址发送访问请求后的第二时长(如0.5秒、1秒等)内,可以持续检测来自该第一网络地址的响应信息。可选地,终端设备可以通过计时器、超时定时器等来计量上述第二时长。若终端设备在第二时长内未检测到任何来自第一网络地址的响应信息,则表示该第一网络地址不可用,终端设备可以暂停访问该第一网络地址,并获取上述多个网络地址中的第二网络地址进行访问。若终端设备在第二时长内检测到来自第一网络地址的响应信息,但该响应信息包含访问错误信息(如404错误、405错误等),则同样表示该第一网络地址不可用,终端设备可以切换至第二网络地址进行访问。

通过重复以上过程,当终端设备接收到目标网络地址响应上述访问请求的响应信息,且该响应信息不包含访问错误信息时,该终端设备可以从目标网络地址获取网页资源,成功建立终端设备与资源服务器之间的通信连接。

514、在第一时长内未接收到查询服务器反馈的网络地址的情况下,停止响应上述网页链接请求。

需要说明的是,步骤514可以紧接在步骤510之后执行。

在本申请实施例中,终端设备可以在向查询服务器发送域名查询请求后的第一时长(如1秒、2秒等)内,持续检测该查询服务器所反馈的网络地址。可选地,终端设备可以通过计时器、超时定时器等来计量上述第一时长。若终端设备在第一时长内未接收到查询服务器反馈的任何网络地址,则表示该查询服务器响应域名查询请求超时,终端设备无法在一定时限内获取与上述网页域名匹配的任何网络地址,从而该终端设备可以停止响应上述网页链接请求,结束整个网络请求过程。

在一些实施例中,若终端设备接收到查询服务器反馈的查询失败信息,也可以停止响应上述网页链接请求,结束整个网络请求过程。在此基础上,终端设备可以根据该查询失败信息生成第一错误标识,该第一错误标识用于表示终端设备因无可用网络地址而停止响应网页链接请求。然后,终端设备可以基于该查询失败信息以及第一错误标识,分析得到优化策略。其中,该优化策略可以用于下一次响应相同的网页链接请求。

示例性地,该优化策略可以用于在下一次响应该网页链接请求时,针对上述dns服务器及查询服务器反馈的网络地址进行筛选优化。具体举例来说,终端设备在下一次响应该网页链接请求时,若接收到本次响应网页链接请求所连接的dns服务器及查询服务器所反馈的部分网络地址,可以针对该部分网络地址分析其置信度,当该部分网络地址相应的置信度低于置信度阈值时,可以筛去低于置信度阈值的网络地址。通过实施上述方法,能够在终端设备响应相同的网页链接请求时,基于网页域名解析的历史记录,降低此前无效的dns服务器及查询服务器所反馈的网络地址的影响,提升终端设备进行网络请求的准确性。

516、生成第二错误标识,并显示与该第二错误标识对应的错误提示网页。

具体地,若终端设备在第一时长内未接收到查询服务器反馈的网络地址,并因此停止响应上述网页链接请求之后,可以生成相应的第二错误标识,该第二错误标识用于表示终端设备因访问超时而停止响应网页链接请求。在此基础上,终端设备可以根据该第二错误标识生成相应的错误提示网页,并在其浏览器等应用上显示该错误提示网页,以提示用户该网页链接请求已被停止响应。

可见,实施上述实施例所描述的网络请求方法,能够利用一个或多个dns服务器获取资源服务器对应的多个网络地址,从而能够通过上述多个网络地址进行多次网络请求的不同尝试,尽可能避免了网络请求失败的情况出现,有效提升了终端设备进行网络请求的成功率;同时,还能够使得终端设备与资源服务器之间的网络连接更灵活可靠,有效提高了终端设备网络连接的可靠性;此外,通过在查询服务器针对上述域名地址进行兜底查询,能够结合多种信息来源,尽可能找到资源服务器对应的网络地址,从而进一步提升终端设备进行网络请求的成功率。

请参阅图7,图7是本申请实施例公开的一种网络请求装置的模块化示意图,该网络请求装置可以应用于上述的终端设备。如图7所示,该网络请求装置可以包括请求生成单元701、域名解析单元702以及网络请求单元703,其中:

请求生成单元701,用于响应网页链接请求,根据该网页链接请求对应的网页域名生成域名解析请求;

域名解析单元702,用于向一个或多个域名系统dns服务器发送上述域名解析请求,并获取dns服务器针对该域名解析请求反馈的多个网络地址;

网络请求单元703,用于依次向各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

可见,采用上述实施例所描述的网络请求装置,终端设备在进行网络请求时,能够利用一个或多个dns服务器获取资源服务器对应的多个网络地址,从而即使在面临dns劫持、网络波动等意外因素的情况下,也能够通过上述多个网络地址进行多次网络请求的不同尝试,而不必仅针对某一个网络地址进行反复刷新,尽可能避免了网络请求失败的情况出现,有效提升了终端设备进行网络请求的成功率。此外,这样的网络请求方式还能够使得终端设备与资源服务器之间的网络连接更灵活可靠,即便偶尔中断也能够利用丰富的网络地址资源快速重连,从而有效提高了终端设备网络连接的可靠性。

在一种实施例中,图7所示的域名解析单元702还可以包括未图示的第一请求发送子单元以及第一地址获取子单元,其中:

第一请求发送子单元,用于分别向多个dns服务器发送上述域名解析请求,该域名解析请求用于指示dns服务器对上述网页域名进行解析,并将解析得到的与该网页域名匹配的网络地址添加到网络地址集合中;

第一地址获取子单元,用于获取每个dns服务器发送的网络地址集合,并根据各个网络地址集合生成第一网络地址列表;

上述网络请求单元703,具体可以用于依次向第一网络地址列表中的各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

在一种实施例中,图7所示的域名解析单元702也可以包括未图示的确定子单元、第二地址获取子单元以及第二请求发送子单元,其中:

确定子单元,用于按照多个dns服务器的排列顺序,确定当前dns服务器,并向当前dns服务器发送上述域名解析请求;

第二地址获取子单元,用于若接收到当前dns服务器返回的网络地址集合,则根据该网络地址集合生成第二网络地址列表;

第二请求发送子单元,用于若接收到当前dns服务器返回的解析失败信息,则向排列在当前dns服务器之后的下一dns服务器发送上述域名解析请求,直至获取到dns服务器返回的网络地址集合;

上述网络请求单元703,具体可以用于依次向第二网络地址列表中的各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

可见,采用上述实施例所描述的网络请求装置,能够通过不同的方式向多个dns发送域名解析请求,从而有利于平衡终端设备进行网络请求的成功率和耗时,在尽可能提高网络请求成功率,以提升用户浏览网页资源体验的同时,也减少了对dns服务器资源的消耗。

在一种实施例中,图7所示的网络请求装置还可以包括未图示的兜底单元以及查询单元,其中:

兜底单元,用于若未接收到dns服务器反馈的网络地址,响应查询指令,根据上述网页域名生成域名查询请求;

查询单元,用于向查询服务器发送该域名查询请求,并获取查询服务器针对该域名查询请求反馈的第三网络地址列表;

上述网络请求单元703,具体可以用于依次向第三网络地址列表中的各个网络地址发送访问请求,若接收到目标网络地址响应该访问请求的响应信息,则从该目标网络地址获取网页资源。

在一种实施例中,图7所示的网络请求装置还可以包括未图示的停止响应单元以及优化单元,其中:

停止响应单元,用于若接收到查询服务器反馈的查询失败信息,停止响应上述网页链接请求;

优化单元,用于根据查询失败信息生成第一错误标识,并基于该查询失败信息以及第一错误标识,分析得到优化策略,该优化策略用于在下一次响应上述网页链接请求时,针对dns服务器及查询服务器反馈的网络地址进行筛选优化。

在一种实施例中,图7所示的网络请求装置还可以包括未图示的显示单元,其中:

上述停止响应单元,还可以用于在第一时长内未接收到查询服务器反馈的网络地址的情况下,停止响应上述网页链接请求;

显示单元,用于生成第二错误标识,并显示与该第二错误标识对应的错误提示网页。

在一种实施例中,图7所示的网络请求单元703可以包括未图示的发送子单元以及切换子单元,其中:

发送子单元,用于向第一网络地址发送访问请求,其中,该第一网络地址为上述多个网络地址中的任一网络地址;

切换子单元,用于若在第二时长内未接收到第一网络地址响应访问请求的响应信息,或者接收到该第一网络地址的响应信息中包含访问错误信息,则向上述多个网络地址中排列在该第一网络地址之后的第二网络地址发送访问请求,直至接收到目标网络地址响应该访问请求的响应信息,并从该目标网络地址获取网页资源。

可见,采用上述实施例所描述的网络请求装置,能够利用一个或多个dns服务器获取资源服务器对应的多个网络地址,从而能够通过上述多个网络地址进行多次网络请求的不同尝试,尽可能避免了网络请求失败的情况出现,有效提升了终端设备进行网络请求的成功率;同时,还能够使得终端设备与资源服务器之间的网络连接更灵活可靠,有效提高了终端设备网络连接的可靠性;此外,还能够通过在查询服务器针对上述域名地址进行兜底查询,能够结合多种信息来源,尽可能找到资源服务器对应的网络地址,从而进一步提升终端设备进行网络请求的成功率。

请参阅图8,图8是本申请实施例公开的一种电子设备的模块化示意图。如图8所示,该电子设备可以包括:

存储有可执行程序代码的存储器801;

与存储器801耦合的处理器802;

其中,处理器802调用存储器801中存储的可执行程序代码,可以执行上述实施例所描述的任意一种网络请求方法中的全部或部分步骤。

此外,本申请实施例进一步公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机可以执行上述实施例所描述的任意一种网络请求方法中的全部或部分步骤。

此外,本申请实施例进一步公开一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机可以执行上述实施例所描述的任意一种网络请求方法中的全部或部分步骤。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子抹除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

以上对本申请实施例公开的一种网络请求方法及装置、终端设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1