一种请求处理方法、装置及电子设备与流程

文档序号:11236828阅读:745来源:国知局
一种请求处理方法、装置及电子设备与流程
本发明涉及通信
技术领域
,尤其涉及一种请求处理方法、装置及电子设备。
背景技术
:在互联网化的今天,人们可以通过互联网获取到各式各样的信息,如图文、音频、视频。因此,互联网极大地满足了人们生活的需要。通常来说,用户可以在浏览器的搜索栏输入某个网址或者在网页上点击某个链接,以查找并获取想要的资源。然而,在实践中发现,域名解析服务被污染时,同样的域名解析为不同的网际协议(internetprotocol,ip)地址,例如,无效的ip地址,导致所发起的网络请求返回了请求失败的响应消息,请求失败率较高。技术实现要素:本发明实施例所要解决的技术问题在于,提供一种请求处理方法、装置及电子设备,能够降低网络请求的失败率。为了解决上述技术问题,本发明实施例第一方面提供了一种请求处理方法,包括:利用包括第一域名的网址发起第一网络请求;所述第一域名为预设时长内网络请求成功时保存的域名;在所述第一网络请求失败时,确定所述第一网络请求失败的原因;根据确定的原因发起第二网络请求。可选地,所述确定所述第一网络请求失败的原因,包括:确定所述第一网络请求返回的响应消息是否包括预设内容;当所述响应消息中未包括预设内容,则确定所述第一网络请求失败为网际协议ip请求失败。可选地,所述根据确定的原因发起第二网络请求,包括:确定预先保存的利用所述第一域名进行网络请求成功时的ip地址;利用包括所述ip地址的网址发起第二网络请求。可选地,所述确定所述第一网络请求失败的原因,包括:确定所述第一网络请求返回的响应消息是否指示为域名请求失败;当所述响应消息指示为域名请求失败,则确定所述第一网络请求失败为域名请求失败。可选地,所述根据确定的原因发起第二网络请求,包括:确定所述第一域名的备用域名;利用包括所述备用域名的网址发起第二网络请求。可选地,所述利用包括所述ip地址的网址发起第二网络请求,包括:将所述ip地址拼接为统一资源定位符url;利用拼接的url发起第二网络请求,其中,所述第二网络请求中的头信息携带所述ip地址。可选地,所述方法还包括:获取至少一个域名提供商提供的所述第一域名的至少一个备用域名;保存所述第一域名与所述至少一个备用域名之间的对应关系,所述对应关系中还包括每个备用域名的预设地理范围。可选地,所述确定所述第一域名的备用域名,包括:确定发起所述第一网络请求的地理位置;查询所述地理位置对应的备用域名。本发明实施例第二方面提供了一种请求处理装置,包括:发送模块,用于利用包括第一域名的网址发起第一网络请求;所述第一域名为预设时长内网络请求成功时保存的域名;确定模块,用于在所述第一网络请求失败时,确定所述第一网络请求失败的原因;所述发送模块,还用于根据确定的原因发起第二网络请求。可选地,所述确定模块。具体用于确定所述第一网络请求返回的响应消息是否包括预设内容;当所述响应消息中未包括预设内容,则确定所述第一网络请求失败为网际协议ip请求失败。可选地,所述发送模块,具体用于确定预先保存的利用所述第一域名进行网络请求成功时的ip地址;利用包括所述ip地址的网址发起第二网络请求。可选地,所述确定模块,具体用于确定所述第一网络请求返回的响应消息是否指示为域名请求失败;当所述响应消息指示为域名请求失败,则确定所述第一网络请求失败为域名请求失败。可选地,所述发送模块,具体用于确定所述第一域名的备用域名;利用包括所述备用域名的网址发起第二网络请求。可选地,所述发送模块利用包括所述ip地址的网址发起第二网络请求,具体为:将所述ip地址拼接为统一资源定位符url;利用拼接的url发起第二网络请求,其中,所述第二网络请求中的头信息携带所述ip地址。可选地,所述装置还包括:获取模块,用于获取至少一个域名提供商提供的所述第一域名的至少一个备用域名;存储模块,用于保存所述第一域名与所述至少一个备用域名之间的对应关系,所述对应关系中还包括每个备用域名的预设地理范围。可选地,所述发送模块确定所述第一域名的备用域名,具体为:确定发起所述第一网络请求的地理位置;查询所述地理位置对应的备用域名。本发明实施例第三方面提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线;所述处理器、所述存储器和所述通信接口通过所述通信总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种请求处理方法;其中,所述方法包括:利用包括第一域名的网址发起第一网络请求;所述第一域名为预设时长内网络请求成功时保存的域名;在所述第一网络请求失败时,确定所述第一网络请求失败的原因;根据确定的原因发起第二网络请求。本发明实施例第四方面提供了一种存储介质,其中,该存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明实施例的所述的一种请求处理方法。本发明实施例第五方面提供了一种应用程序,其中,该应用程序用于在运行时执行本发明实施例所述的一种请求处理方法。本发明实施例中,终端可以利用包括第一域名的网址发起第一网络请求,并在该第一网络请求失败时,确定该第一网络请求失败的原因,从而可以根据确定的原因发起第二网络请求,以提高请求成功的效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明第一实施例提供的一种请求处理方法的流程示意图;图2是本发明第二实施例提供的一种请求处理方法的流程示意图;图3是本发明第三实施例提供的一种请求处理方法的流程示意图;图4是本发明第四实施例提供的一种请求处理方法的流程示意图;图5是本发明第一实施例提供的一种请求处理装置的结构示意图;图6是本发明第二实施例提供的一种请求处理装置的结构示意图;图7是本发明第三实施例提供的一种电子设备的结构示意图。具体实施方式目前,终端获取用户输入的统一资源定位符(uniformresourcelocator,url)后,交由域名系统(domainnamesystem,dns)服务器解析该url。该url解析成功后,终端会发起一个超文本传输协议(hypertexttransferprotocol,http)请求,利用该请求建立终端与服务器之间的传输控制协议(transmissioncontrolprotocol,tcp)连接。其中,该服务器监听到该http请求后,就会返回终端一个响应消息。其中,dns服务器可以将url解析成相应的网际协议(internetprotocol,ip)地址,以使终端利用该ip地址可以访问对应的web服务器。然而,实践中发现,由于地理位置的限制会出现域名解析失败的问题。例如,域名提供商提供的域名a在地区1有效,但在地区2无效,使得终端在地区2使用该域名a发起网络请求时,导致网络请求失败。除此之外,dns服务器被恶意攻击或dns服务器缓存被污染时,即使域名解析成功,但由于dns服务器针对该域名缓存了错误的ip地址,使得域名被解析到无效或者错误的ip地址,即导致网络请求失败。为了解决上述问题,本发明实施例提供一种请求处理方法、装置及终端,能够提高网络请求的成功率。请参阅图1,图1为本发明第一实施例提供的一种请求处理方法的流程示意图。该请求处理方法可以应用于各种智能终端,包括但不限于平板电脑、智能手机、智能可穿戴设备等。并且该终端可以包括实施该方法的客户端。该客户端可以为浏览器,如ie浏览器、谷歌浏览器等。如图1所示,该请求处理方法可以包括:s101、终端利用包括第一域名的网址发起第一网络请求。本发明实施例中,该第一域名为预设时长内网络请求成功时保存的域名。换句换说,该第一域名可以是预设时长内网络请求成功时所保存的默认域名或备用域名等。其中,该预设时长包括但不限于从发起第一网络请求到接收到关于该第一网络请求的响应消息所需的时间。可选地,该预设时长还可以为通信双方协商好的一个时长。可选地,该第一域名还可以为网络请求成功时保存的域名。换句话说,该第一域名可以是网络请求成功时所保存的默认域名或备用域名等。需要说明的是,步骤s101中的利用包括第一域名的网址发起第一网络请求的过程可以包括从终端获取包括该第一域名的网址,到发送包括该第一域名的http请求到对应服务器。本发明实施例中,上述包括该第一域名的http请求的请求头部中的主机名host的取值为第一域名。可选地,该第一网络请求可以为包括第一域名的http请求。进一步可选地,在该第一网络请求为包括第一域名的http请求时,步骤s101中的利用包括第一域名的网址发起第一网络请求的过程可以理解为,终端利用包括第一域名的网址发送包括第一域名的http请求到对应服务器。举例来说,若该第一网络请求为包括第一域名的http请求,终端可以利用该网址http://www.abc.com/request发送包括第一域名www.abc.com的http请求。其中,该http请求的请求头部中的主机名host的取值为第一域名www.abc.com。s102、在所述第一网络请求失败时,确定所述第一网络请求失败的原因。本发明实施例中,导致该第一网络请求失败的原因至少包括:ip请求失败、域名请求失败。需要说明的是,服务器在接收到该第一网络请求后,可以根据该第一网络请求返回相应的响应消息至终端。终端可以根据返回的响应消息确定该第一网络请求失败为ip请求失败或域名请求失败。可选地,终端确定该第一网络请求失败为ip请求失败可以包括以下步骤:确定根据该第一网络请求返回的响应消息是否包括预设内容;若该响应消息中未包括预设内容,则确定该第一网络请求失败为ip请求失败。其中,该预设内容可以是通信双方,即客户端、服务器间协商好的返回包含指定内容的协议约定信息,并且该协议约定信息是建立在http协议基础上的。举例来说,若预设内容为返回的响应消息中包含特定字符串信息,但是在客户端利用包括第一域名的网址发送第一网络请求后,服务器返回的响应信息中未包含该特定字符串信息,那么终端就可以确定该第一网络请求失败为ip请求失败。可选地,终端确定该第一网络请求失败是否为域名请求失败可以包括以下步骤:确定该第一网络请求返回的响应消息是否指示为域名请求失败;当该响应消息指示为域名请求失败,则确定该第一网络请求失败为域名请求失败。需要说明的是,上述确定该第一网络请求返回的响应消息是否指示为域名请求失败可以包括:在发起第一网络请求中的域名解析过程中,若终端接收到的响应消息为域名解析时服务器反馈的错误代码,则可以确定该响应消息指示为域名请求失败。例如,若在发起第一网络请求中的域名解析过程中,终端接收到的响应消息为错误代码105或者错误代码137等错误代码时,则可以确定该响应消息指示为域名请求失败,即该第一网络请求失败。其中,错误代码105,指示该域名解析错误;错误代码137,指示无法解析该域名。需要说明的是,上述确定该第一网络请求返回的响应消息是否指示为域名请求失败还可以包括:在域名解析成功后,终端可以根据响应消息中的状态行信息来判断域名请求是否失败。若根据该状态行信息确定该域名请求失败,则可以确定该响应消息指示为该域名请求失败。若根据该状态行信息确定该域名请求成功,则可以确定该响应消息不指示为该域名请求失败。举例来说,若根据第一网络请求返回的响应信息的状态行信息为404notfound,即可以理解为域名请求失败,则可以确定该响应消息指示为域名请求失败,从而可以确定该第一网络请求失败为域名请求失败。通常来说,若返回的响应信息的状态行信息为200ok,则代表域名请求成功,即可以理解该响应信息不指示为域名请求失败。从而可以确定该第一网络请求失败不为域名请求失败。在一些实施例中,若域名解析成功,但服务器返回的响应信息的状态行信息不为200ok,为404notfound等其它状态行信息,也可以理解为ip请求失败,则可以确定该响应消息指示为ip请求失败,从而可以确定该第一网络请求失败为ip请求失败。s103、根据确定的原因发起第二网络请求。需要说明的是,通过步骤s102可以确定导致该第一网络请求失败的具体原因为ip请求失败或域名请求失败。可选地,在确定该第一网络请求失败为ip请求失败时,终端可以确定预先保存的利用该第一域名进行网络请求成功时的ip地址,并可以利用包括该ip地址的网址发起第二网络请求。需要说明的是,终端可以通过查找本地缓存的映射关系来确定预先保存的利用所述第一域名进行网络请求成功时对应的ip地址。其中,该映射关系可以是终端利用包括各个域名的网址网络请求成功时,所保存的各个域名与对应的ip地址的对应关系。举例来说,若终端利用网址http://www.abc.com/request发送第一网络请求失败,那么此时就会查询本地缓存中是否存有该第一域名www.abc.com与ip地址的映射关系。以确定预先保存的利用该第一域名进行网络请求成功时对应ip地址。若终端中缓存了域名www.abc.com与ip地址1.2.3.4的映射关系。那么终端就会确定该第一域名所对应的ip地址为1.2.3.4。需要说明的是,终端利用包括上述ip地址的网址发起第二网络请求时,终端可以利用该ip地址拼接包括第一域名的网址,以利用包括该ip地址的网址发起第二网络请求。需要说明的是,上述利用包括该ip地址的网址发起第一网络请求的过程可以包括从终端获取包括该ip地址的网址,到发送包括该ip地址的http请求到对应服务器。本发明实施例中,上述包括该ip地址的http请求的请求头部中的主机名host的取值为该ip地址。可选地,该第二网络请求可以为包括该ip地址的http请求。需要说明的是,在该第一网络请求为包括该ip地址的http请求时,上述利用包该ip地址的网址发起第一网络请求的过程就可以理解为,终端利用包括该ip地址的网址发送包括该ip地址的http请求到对应服务器。举例来说,在该第二网络请求为包括ip地址1.2.3.4的http请求时,终端可以利用http://1.2.3.4/request发送包括ip地址1.2.3.4的http请求到对应服务器。其中,该包括ip地址的http请求的请求头部中的host的取值为1.2.3.4。可选地,在确定该第一网络请求失败是因为为域名请求失败时,终端可以确定该第一域名的备用域名;利用包括该备用域名的网址发起第二网络请求。进一步可选地,上述确定该第一域名的备用域名可以包括:终端可以通过查找本地缓存的对应关系来确定该第一域名对应的备用域名。其中,该对应关系中各个域名对应于至少一个备用域名。进一步可选地,上述确定该第一域名的备用域名还可以包括:确定发起该第一网络请求的地理位置;查询该地理位置对应的备用域名。可选地,终端可以通过查询对应关系,以确定该地理位置所对应的预设地理范围,以获取该预设地理分为所对应的备用域名。其中,该对应关系中,各个域名对应于至少一个备用域名,其中该对应关系还可以包括各个备用域名的预设地理范围。需要说明的是,上述利用包括备用域名的网址发起第二网络请求的过程可以包括从终端获取包括该备用域名的网址,到发送包括该备用域名的http请求到对应服务器。本发明实施例中,上述包括该备用域名的http请求的请求头部中的主机名host的取值为备用域名。可选地,该第二网络请求可以为包括备用域名的http请求。进一步可选地,在该第二网络请求为包括备用域名的http请求时,上述利用包括备用域名的网址发起第二网络请求的过程就可以理解为,终端利用包括备用域名的网址发送包括备用域名的http请求到对应服务器。举例来说,在该第二网络请求为包括备用域名www.abc2.com的http请求时,终端可以利用http://www.abc2.com/request发送包括备用域名www.abc2.com的http请求到对应服务器。其中,该包括备用域名的http请求的请求头部中的host的取值为www.abc2.com。可见,图1所示的实施例中,终端可以利用包括第一域名的网址发起第一网络请求,并在该第一网络请求失败时,确定该第一网络请求失败的原因;根据确定的原因发起第二网络请求,以提高请求成功的效率。请参阅图2,图2为本发明第二实施例提供的一种请求处理方法的流程示意图。其中,该请求处理方法可以应用在各个终端中,该终端可以为各种智能终端,包括但不限于平板电脑、手机、智能可穿戴设备等终端,并且该终端中可以安装实施该方法的客户端。其中,该客户端可以包括浏览器,如ie浏览器、谷歌浏览器等。如图2所示,该请求处理方法可以包括以下步骤:s201、终端利用包括第一域名的网址发起第一网络请求。本发明实施例中,第一域名为预设时长内网络请求成功时保存的域名。其中,网络请求成功是指终端可以通过该第一域名从相应的网络服务器中请求到网络资源。例如,第一域名为www.abc.com,则包括第一域名的网址可以为http://www.abc.com,利用包括该第一域名的网络发起的第一网络请求可以为http://www.abc.com/request。本发明实施例中,上述包括该第一域名的http请求的请求头部中的主机名host的取值为第一域名。可选地,该第一网络请求可以为包括第一域名的http请求。s202、当所述第一网络请求失败时,终端确定预先保存的利用所述第一域名进行网络请求成功时对应的网际协议ip地址。本发明实施例中,上述第一域名可以是在有效时长内利用该第一域名,网络请求成功时所保存的。换句换说,该第一域名可以是网络请求成功时所保存的默认域名或备用域名等域名。需要说明的是,在终端通过步骤s201发起该第一网络请求至服务器后,服务器可以在接收到该第一网络请求后,返回相应的响应消息,以响应该第一网络请求。终端可以根据该响应消息来确定该第一网络请求是否成功。例如,若返回的响应信息中包括200ok的状态行信息和特定字符串信息,则可以确定该第一网络请求成功。本发明实施例中,在步骤s202中,若终端根据服务器返回的响应消息确定该第一网络请求失败,终端就可以通过映射关系确定预先保存的利用第一域名进行网络请求成功时对应的ip地址,以执行步骤s203中的利用包括该ip地址的网址发起第二网络请求。其中,该映射关系为终端使用包括各个域名的网址,进行网络请求成功时,所保存的各个域名与所对应的ip地址的对应关系。举例来说,若终端利用网址http://www.abc.com/request发送第一网络请求失败,那么此时就会查询本地缓存中是否存有该第一域名www.abc.com与ip地址的映射关系。以确定预先保存的利用该第一域名进行网络请求成功时对应ip地址。若客户端中缓存了域名www.abc.com与ip地址1.2.3.4的映射关系。那么客户端就会确定该第一域名所对应的ip地址为1.2.3.4。s203、终端利用包括所述ip地址的网址发起第二网络请求。需要说明的是,步骤s203中的利用包括ip地址的网址发起第二网络请求的过程可以包括从终端获取包括该ip地址的网址,到发送包含该ip地址的http请求到对应服务器。本发明实施例中,上述包括该ip地址的http请求的请求头部中的host的取值可以为该ip地址。可选地,该第二网络请求可以为包括该ip地址的http请求。可选地,在该第二网络请求为包括ip地址的http请求时,步骤s203中的利用包括ip地址的网址发起第二网络请求的过程就可以理解为,终端可以利用包括ip地址的网址发送包括ip地址的http请求到对应服务器。需要说明的是,在利用包括上述ip地址的网址发起第二网络请求时,终端可以利用该ip地址拼接包括第一域名的网址,以利用包括该ip地址的网址发起第二网络请求。举例来说,在终端利用网址http://www.abc.com/request发起的第一网络请求失败时,终端可以由步骤s202确定利用该域名www.abc.com网络请求成功时所保存的ip地址为1.2.3.4。在确定ip地址后,终端可以利用该ip地址来拼接开始键入的网址中的第一域名,此处,即将http://www.abc.com/request修改为http://1.2.3.4/request,以利用该网址发送第二网络请求。可见,如图2所示,终端可以利用包括第一域名的网址发起第一网络请求;并在该第一网络请求失败时,可以确定预先保存的利用该第一域名进行网络请求成功时对应的ip地址;利用包括该ip地址的网址发起第二网络请求,从而可以有效避免因现有缓存机制而一直解析ip地址失败,或者将发起网络请求的域名在一段时间内解析到错误或无效的ip地址上的情况,提高了请求的效率以及可靠性。请参阅图3,为本发明第三实施例提供的一种请求处理方法的流程示意图。具体地,该请求处理方法可以应用在各个终端中,该终端可以为各种智能终端,包括但不限于平板电脑、手机、智能可穿戴设备等终端,并且该终端可以包括实施该方法的客户端。该客户端可以为浏览器,如ie浏览器、谷歌浏览器等。具体地,该方法可以包括以下步骤:s301、终端利用包括第一域名的网址发起第一网络请求。需要说明的是,终端可以利用包括第一域名的网址发起第一网络请求。在服务器接收到该网络请求后,可以返回终端一个响应消息。终端可以根据该响应消息确定该第一网络请求是否失败。可选地,在该第一网络请求失败时,终端可以执行步骤s302中的根据该响应消息确定该第一网络请求失败是否为ip请求失败,并可以依次执行步骤s303、步骤s304.进一步可选地,在该第一网络请求失败时,终端还可以执行步骤s305中的根据该响应消息确定该第一网络请求失败是否为域名请求失败,并且可以依次执行步骤s306、步骤s307。本发明实施例中,步骤s302与步骤s305为并列执行关系,即终端可以同时执行确定该第一网络请失败是否为ip请求失败的步骤以及执行确定该第一网络请求是否为域名请求失败的步骤。可选地,终端可以先确定该第一网络请求失败是否为ip请求失败,并在确定不为ip请求失败后,进一步确定该第一网络请求失败是否为域名请求失败。进一步可选地,终端可以先确定该第一网络请求失败是否为域名请求失败,并在确定不是为域名请求失败后,进一步确定该第一网络请求失败是否为ip请求失败。s302、当所述第一网络请求失败时,终端确定所述第一网络请求失败是否为ip请求失败。若为ip请求失败,则执行步骤s303。需要说明的是,在步骤s301中,终端可以利用包括第一域名的网址发起第一网络请求,并且可以在第一网络请求失败时,执行步骤s302,以确定该第一请求失败是否为ip请求失败。在确定该第一网络请求失败为ip请求失败时,执行步骤s303,以确定请求成功时该第一域名所对应的ip地址,并利用包括该ip地址的网址发送第二网络请求。进一步地,步骤s302中的确定该第一网络请求失败是否为ip请求失败可以包括:终端确定该第一网络请求返回的响应消息中是否包括预设内容;在该响应消息中未包括预设内容时,可以确定该第一网络请求失败为ip请求失败。其中,该预设内容可以是通信双方,即客户端、服务器间协商好的返回包含指定内容的协议约定信息,并且该协议约定信息是建立在http协议基础上的。举例来说,若预设内容为返回的响应消息中包含特定字符串信息,但是在客户端利用包括第一域名的网址发送第一网络请求后,服务器返回的响应信息中未包含该特定字符串信息,那么终端就可以确定该第一网络请求失败为ip请求失败。s303、当确定所述第一网络请求失败为ip请求失败时,终端确定预先保存的利用所述第一域名进行网络请求成功时对应的ip地址;s304、终端利用包括所述ip地址的网址发起第二网络请求。需要说明的是,在步骤s303中,终端在确定该第一网络请求失败为ip请求失败时,可以通过查找本地缓存的映射关系来确定预先保存的利用该第一域名进行网络请求成功时对应的ip地址。本发明实施例中,上述映射关系可以是终端利用包括各个域名的网址网络请求成功时,所保存的各个域名与对应的ip地址的对应关系。请参阅表1,为本发明实施例提供的一种在网络请求成功时,终端所保存的域名与对应ip地址的映射关系表。例如,若终端使用包括域名a的网址向ip地址1所在服务器发起的网络请求成功时,本地就缓存了域名a以及对应的ip地址1。表1域名ip地址域名aip地址1域名bip地址2举例来说,若终端获取的url为http://域名a,在终端根据服务器返回的响应消息确定第一网络请求失败为ip请求失败时,终端就会查询本地的映射关系,如表1,从而可以确定预先保存的利用域名a进行网络请求成功时对应ip地址为ip地址1。需要说明的是,在步骤s304中,终端利用包括上述ip地址的网址发起第二网络请求时,终端可以利用该ip地址拼接包括第一域名的网址,以利用包括该ip地址的网址发起第二网络请求。可选地,该第二网络请求可以为包括该ip地址的http请求。s305、当所述第一网络请求失败时,终端确定所述第一网络请求失败是否为域名请求失败。需要说明的是,终端在执行步骤s302后,若根据服务器返回的响应消息确定该第一网络请求失败,在步骤s305中,终端就可以进一步确定该第一网络请求失败是否为域名请求失败。需要说明的是,上述确定该第一网络请求返回的响应消息是否指示为域名请求失败可以包括:在发起第一网络请求中的域名解析过程中,若终端接收到的响应消息为域名解析时服务器反馈的错误代码,则可以确定该响应消息指示为域名请求失败。。例如,若服务器返回的响应信息指示域名解析错误,为错误代码105,那就表示本次域名请求失败。需要说明的是,上述确定该第一网络请求返回的响应消息是否指示为域名请求失败还可以包括:终端可以根据服务器返回的响应消息中的状态行信息来判断域名请求是否失败。若根据该状态行信息确定该域名请求失败,则可以确定该响应消息指示为该域名请求失败。若根据该状态行信息确定该域名请求成功,则可以确定该响应消息不指示为该域名请求失败。需要说明的是,上述确定该第一网络请求返回的响应消息是否指示为域名请求失败还可以包括:在域名解析成功后,终端可以根据响应消息中的状态行信息来判断域名请求是否失败。若根据该状态行信息确定该域名请求失败,则可以确定该响应消息指示为该域名请求失败。若根据该状态行信息确定该域名请求成功,则可以确定该响应消息不指示为该域名请求失败。举例来说,若服务器返回的响应信息的状态行信息为404notfound,那就代表终端所请求的资源不存在,即可以理解为域名请求失败。通常来说,若返回的响应信息的状态行信息为200ok,则代表域名请求成功,即可以理解该响应信息不指示为域名请求失败。从而可以确定该第一网络请求失败不为域名请求失败。在一些实施例中,若域名解析成功,但服务器返回的响应信息的状态行信息不为200ok,为404notfound等其它状态行信息,也可以理解为ip请求失败,则可以确定该响应消息指示为ip请求失败,从而可以确定该第一网络请求失败为ip请求失败。在一些实施例中,若域名解析成功,但服务器返回的响应信息的状态行信息不为200ok,也可以定义为ip请求失败。s306、当确定所述第一网络请求失败为域名请求失败时,终端确定所述第一域名的备用域名。需要说明的是,步骤s306中的确定该第一域名的备用域名可以包括:确定发起该第一网络请求的地理位置;查询该地理位置对应的备用域名。可选地,终端可以通过查纯本地存储的对应关系来确定该地理位置对应的备用域名。其中,该对应关系中,各个域名对应于至少一个备用域名,其中该对应关系还包括各个备用域名的预设地理范围。其中,该预设地理范围可以包括一个或多个能够使用该备用域名发送网络请求的地区。进一步可选地,在步骤s306中,终端可以在确定该第一网络请求失败为域名失败时,确定发起该第一网络请求的地理位置,并可以进一步确定该地理位置所属的预设地理范围,以便查找对应关系中该预设地理范围所对应的备用域名,从而使得终端可以执行步骤s307中的发起第二网络请求。举例来说,终端在位置1使用包含域名a的网址发起了第一网络请求,若根据服务器的响应消息确定该第一网络请求失败为域名失败后,终端就会确定发起第一网络请求的地理位置为位置1,并确定该地理位置所属的预设地理范围。进一步地,在确定该位置1属于地区1后,终端就可以通过查询相应的对应关系表,如表2,来确定该域名在地区1匹配的备用域名。从表2可以确定,地区1所对应的备用域名为域名a1,那么终端就可以使用包括域名a1的网址发送第二网络请求。请参阅表2,为本发明实施例提供的一种域名、备用域名、预设地理范围对应关系表:表2可选地,若在本地缓存中没有查询到第一域名所对应的备用域名,就获取至少一个域名提供商提供的与该第一域名对应的至少一个备用域名。并将该第一域名与该备用域名间的对应关系保存在本地的缓存中,并且将各个备用域名的预设地理范围保存在上述对应关系中,以便再利用该第一域名进行域名请求失败时,可以直接利用对应关系中该预设地理范围内记录的备用域名再次发起网络请求。s307、利用包括所述备用域名的网址发起第二网络请求。需要说明的是,步骤s307中的利用包括备用的网址发起第二网络请求的过程可以包括从终端获取包括该备用域名的网址,到发送包括该备用域名的http请求到对应服务器。本发明实施例中,上述包括该备用域名的http请求的请求头部中的主机名host的取值为备用域名。可选地,该第二网络请求可以为包括备用域名的http请求。进一步可选地,在该第二网络请求为包括备用域名的http请求时,步骤s207中的利用包括备用域名的网址发起第二网络请求的过程就可以理解为,终端利用包括备用域名的网址发送包括备用域名的http请求到对应服务器。举例来说,若域名b的备用域名为域名b1,在该第二网络请求为包括域名b1的http请求时,终端可以利用网址http://域名b1,发送包括域名b1的http请求到对应服务器。其中,该包括备用域名的http请求的请求头部中的host的取值为域名b1。需要说明的是,在利用包括上述备用域名的网址发起第二网络请求时,终端可以利用该备用域名拼接包括第一域名的网址,以利用包括该备用域名的网址发起第二网络请求。举例来说,若终端获取的网址为http://域名b,那么在终端利用该网址在地区3进行第一次网络请求失败后,终端就会确定发起该第一网络请求的地理位置,若确定该地理位置属于地区3,且通过查找表2的对应关系确定该域名在地区3有对应的备用域名,如域名b1,那么终端就可以使用该域名b1拼接域名b所在的网址,即该网址由http://域名b,变为http://域名b1,以发起第二网络请求。可见,图3所示的实施例中,终端可以在网络请求失败时,通过确定接收到的响应信息中是否包含预设内容来确定该网络请求失败是否为ip请求失败,若为ip请求失败,就获取网络请求成功时该域名所使用的ip地址,以便更快速有效的发送第二次网络请求。并且,终端还可以确定第一网络请求失败后,若确定该请求失败为域名请求失败,那么终端就可以在确定该第一域名对应的备用域名后,使用该备用域名发起第二网络请求。通过实施本发明是实施例,终端可以结合第一网络请求失败的具体情况,选择使用备用域名或者请求成功时的ip地址以再次发送网络请求,从而提高请求成功率。请参阅图4,为本发明第四实施例提供的一种请求处理方法的流程示意图。具体地,该方法可以应用在各个终端中,该终端可以为各种智能终端,包括但不限于平板电脑、手机、智能可穿戴设备等终端,并且该终端可以包括实施该方法的客户端。具体地,该方法可以包括以下步骤:s401、终端是否保存网络请求成功时的域名;若保存,则执行步骤s402,若未保存,则执行步骤s403;s402、终端获取网络请求成功时的域名;s403、终端获取默认域名;s404、终端利用包括第一域名的网址发送网络请求。需要说明的是,在步骤s401中,若终端确定保存了网络请求成功时的域名,终端就可以依次执行步骤s402、步骤s404。即,终端在确定保存了网络请求成功时的域名后,就可以获取该网络请求成功时的域名,使用包括网络请求成功时的域名发送网络请求。其中,此处的网路请求可以为前述实施例提及的第一网络请求。需要说明的是,上述使用包括网络请求成功时的域名的网址发送网络请求的过程可以与前述实施例的使用包括第一域名的网址发送网络请求的过程对应。需要说明的是,在步骤s401中,若确定终端未保存网络请求成功时的域名,终端就可以依次执行步骤s403、步骤s404。即,终端在确定未保存网络请求成功时的域名后,就可以获取默认域名,使用包括默认域名的网址发送网络请求。其中,此处的网路请求可以为前述实施例提及的第一网络请求。需要说明的是,上述使用包括默认域名的网址发送网络请求的过程可以与前述实施例的使用包括第一域名的网址发送网络请求的过程对应。s405、域名请求是否成功。若失败,执行步骤s406。若成功,执行步骤s408。需要说明的是,终端在发送网络请求后,服务器可以返回客户端一个响应信息。终端可以根据服务器返回的响应消息来判断本次网络请求中的域名请求是否成功。若域名请求失败,即可确定本次网络请求失败,则执行步骤s406,以确定终端中是否缓存有对应的备用域名。若成功,则执行步骤s408,确定返回的响应消息中是否包含预设内容,以用于确定ip请求是否成功。其中,域名请求失败可以包括:在发起第一网络请求中的域名解析过程中,终端若接收到的响应消息为域名解析过程中服务器反馈的错误代码,则可以确定为域名请求失败。例如,若服务器返回的响应信息指示域名解析错误,为错误代码105,那就表示本次域名请求失败。需要说明的是,上述确定该第一网络请求返回的响应消息是否指示为域名请求失败还可以包括:若域名解析成功,终端可以根据服务器返回的响应消息中的状态行信息来判断域名请求是否失败。若根据该状态行信息确定该域名请求失败,则可以确定该响应消息指示为该域名请求失败。若根据该状态行信息确定该域名请求成功,则可以确定该响应消息不指示为该域名请求失败。举例来说,若服务器返回的响应消息中包含200ok的状态行信息,那么就表示此次域名请求成功了。若服务器返回的响应信息中包含的为404notfound的状态行信息,那就表示本次域名请求失败。在一些实施例中,若域名解析成功,但服务器返回的响应信息的状态行信息不为200ok,也可以定义为ip请求失败。s406、终端确定是否有备用域名。若有,则执行步骤s407。若没有,则结束本流程。s407、终端获取备用域名,执行步骤s404。需要说明的是,在步骤s406中,在确定域名请求失败时,终端可以通过获取发起本次网络请求的地理位置,并查询当前地理位置所对应的备用域名。在步骤s407中,终端可以获取该备用域名,以便在步骤s404中利用包括该备用域名的网址再次发起网络请求。可选地,在某个域名对应于一个或多个备用域名时,终端就可以在确定发起网络请求的地理位置后,根据该地理位置查找对应关系中该域名在该地理位置所属预设地理范围内能够使用的备用域名,以便使用该备用域名再次发起网络请求,从而提高请求成功率。其中,该对应关系中各个域名对应于至少一个备用域名,并且每一个备用域名可以对应于至少一个预设地理范围。需要说明的是,上述使用包含该备用域名的网址再次发起网络请求过程可以前述实施例中的使用包含该备用域名的网址发起第二网络请求的过程对应,并且该过程可以包括从终端获取包括该备用域名的网址,到发送包括该备用域名的http请求到对应服务器。可选地,在使用包含该备用域名的网址再次发起网络请求时,终端可以用备用域名来拼接包括默认域名的url或者上一次成功的域名的url。并在发送包含备用域名的http请求的时候,该http请求的请求头部的host的取值为该备用域名。举例来说,若通过对应关系确定域名a的备用域名为a1,终端在使用a1拼接拼接http://域名a后,该url就变为了http://域名a1,终端便可以利用http://域名a1再次发送网络请求。其中,在发送包含备用域名的http请求的时候,该http请求的请求头部的host的取值为域名a1。s408、终端确定是否包含预设内容。若包含,执行步骤s413。若不包含,执行步骤s409。需要说明的是,若经由步骤s405确定域名请求成功。那么终端就可以进一步确定该服务器返回的响应消息中是否包含了预设内容,以用于确定ip请求是否成功。若包含,则可以确定ip请求成功,并且本次网络请求成功,终端顺序执行步骤s413以及步骤s414。若不包含,则执行步骤s409、则确定终端中是否缓存有上次成功时的ip地址,以便再次发送网络请求。其中,该ip地址指的是上次网络请求成功时,该域名所对应的ip地址。s409、终端是否保存网路请求成功时的ip地址;若包含,执行步骤s410。若不包含,执行步骤s406;s410、终端获取该ip地址;s411、终端发起网络请求。需要说明的是,若终端确定本地缓存有网络请求成功时的ip地址,终端就可以使用该ip地址拼接包含默认域名的url或者网络请求成功时的域名的url,以利用该包含ip地址的网址发起网络请求。相应地,此处的网络请求可以为前述实施例提及的第二网络请求。需要说明的是,上述利用包括ip地址的网址发起网络请求的过程可以与前述实施例的利用包括ip地址的网址发起第二网络请求的过程对应,其中,该过程可以包括从终端获取包括该ip地址的网址,到发送包含该ip地址的http请求到对应服务器。本发明实施例中,上述包括该ip地址的http请求的请求头部中的host的取值为该ip地址。可选地,此处的网络请求可以为包括该ip地址的http请求。可选地,在该第二网络请求为包括ip地址的http请求时,上述利用包括ip地址的网址发起网络请求的过程就可以理解为,终端可以利用包括ip地址的网址发送包括ip地址的http请求到对应服务器。举例来说,在该网络请求为包括ip地址1.2.3.4的http请求时,终端可以利用http://1.2.3.4/request发送包括ip地址1.2.3.4的http请求到对应服务器。其中,该包括ip地址的http请求的请求头部中的host的取值为1.2.3.4。可选地,在步骤s409中,若确定不包含上次成功的ip地址,那么就可以执行步骤s406,进一步确定该域名是否有未使用的备用域名,若含有备用域名的话,可以利用备用域名再次发送包含备用域名的网址的网络请求,以增加网络请求的成功率。在实际的应用中,若某新闻客户端想要获取一些实时新闻,那么该新闻客户端就可以在终端联网后,启动程序刷新新闻。若此时发生了dns污染,该新闻客户端所请求的页面会被解析到一台无效的服务器,而不是原来的新闻服务器,那么该服务器就不能返回预设内容,此处可以是用户想浏览的新闻内容。通过本发明实施例所提供的方法,这时候客户端就可以尝试使用上一次请求成功时所使用的ip地址。在客户端使用包括该ip地址的网络请求成功后,刷新后的新闻页面就可以正常显示了。s412、网络请求是否成功;若不成功,则执行步骤s406。若成功,则结束本流程。需要说明的是,在终端利用包括ip地址的网址发起网络请求后,终端可以根据服务器返回的响应消息确定本次网络请求是否成功。在使用包含ip地址的网址发送的网络请求失败的情况下,终端可以执行步骤s406,尝试使用包括备用域名的网址再次发起网络请求。本发明实施例中,上述网络请求成功是因为为域名请求成功且ip请求成功。上述网络请求失败为ip请求失败和/或域名请求失败。其中,ip请求失败,可以根据返回的响应消息中是否包含预设内容来确定;域名请求失败,可以根据返回的响应消息中的状态行信息来确定,如返回状态行信息是否为200ok。s413、保存该域名;s414、保存该域名及ip地址的映射关系。需要说明的是,在步骤s408中,终端可以确定服务器返回的响应消息中包含预设内容。在确定包含预设内容后,终端就可以执行步骤s413,以保存当前网络请求成功的域名,并执行步骤s414,以保存该域名与该ip地址间的映射关系,以便后续在ip请求失败后,可以使用包含该ip地址的网址再次发起网络请求。可见,图4所示的实施例中,终端可以在使用包含某域名的网址发送网络请求后,根据服务器返回的响应消息确定域名请求是否成功,若未成功,则使用包括备用域名的网址再次发送网络请求,以使终端可以更为灵活有效的发送网络请求。若成功,那么终端就需要进一步判断该响应消息中是否包含预设内容,以确保获取资源的有效性以及可靠性。若包含预设内容,那么终端就可以保存该域名以及请求成功时所访问的服务器的ip地址,以便后续在未获取到预设内容的情况下,可以直接利用包括该ip地址的网址再次发送网络请求。若确定返回的响应消息未包含预设内容,此时终端就需要通过查找映射关系,来确定该域名是否有对应的网络请求成功时所使用的ip地址,若没有的话,此时就要尝试用备用域名发送包括备用域名的网址的域名请求;若有该ip地址,那么终端就可以使用包括该ip地址的网址再次发送网络请求,若本次网络请求失败,那么终端就可以尝试发送包括备用域名的网址的域名请求。当然,若终端未查询到该域名所对应的备用域名,那么终端就不用再发送网络请求了。本发明实施例,结合网络请求失败的实际情况,如域名请求失败、ip请求失败等,给予了一定的解决方法,如使用备用域名,切换有效ip地址等方式,提高了客户端的请求成功率。请参阅图5,为本发明第一实施例提供的一种请求处理装置的结构示意图。具体地,该装置可以应用于各种智能终端,包括但不限于平板电脑、智能手机、智能可穿戴设备等终端。具体地,该装置可以包括:发送模块10,用于用于利用包括第一域名的网址发起第一网络请求。确定模块20,用于在所述第一网络请求失败时,确定所述第一网络请求失败的原因。所述发送模块10,还用于根据确定的原因发起第二网络请求。需要说明的是,发送模块10可以利用包括第一域名的网址发起第一网络请求;确定模块20可以在该第一网络请求失败时,确定该第一网络请求失败的原因,以便发送模块10还可以根据该确定的原因发起第二网络请求。本发明实施例中,上述利用包括第一域名的网址发起第一网络请求的过程可以包括从终端获取包括该第一域名的网址,到发送包括该第一域名的http请求到对应服务器。其中,该第一域名为预设时长内网络请求成功时保存的域名。上述根据确定的原因发起第二网络请求过程可以包括从终端获取包括ip地址的网址,到发送包含ip地址的http请求到相应服务器之间的过程,还可以包括从终端获取包括备用域名的网址,到发送包含备用域名的http请求到相应服务器之间的过程。可见,图5所示的实施例中,终端可以使用包含该第一域名的网址发起第一网络请求,并在该第一网络请求失败后,确定第一网络请求失败的原因,并根据该确定的原因发起第二网络请求,从而在一定程度上提高了请求成功率。请一并参阅图6,为本发明第二实施例提供的一种请求处理装置的结构示意图。具体地,该装置可以应用于各种智能终端,包括但不限于平板电脑、手机、智能可穿戴设备等终端。图6是在图5的基础上优化得到的。其中,该终端包括:发送模块10、确定模块20、获取模块30、存储模块40。具体地,该装置可以包括:进一步可选地,确定模块20,具体用于确定所述第一网络请求返回的响应消息中是否包括预设内容,当所述响应消息中未包括预设内容,则确定所述第一网络请求失败为ip请求失败。本发明实施例中,在第一网络请求失败时,确定模块20可以通过确定服务器返回的响应消息中是否包含预设内容,来判断该第一网络请求失败是否为ip请求失败。若该响应消息中未包含预设内容,则可以理解为该第一网络请求失败为ip请求失败。在确定模块20确定第一网络请求失败为ip请求失败后,就可以进一步确定本地缓存中是否有请求成功时所用的ip地址,从而使用包括该ip地址的网址发起第二网络请求,以提高请求成功率。可选地,所述发送模块10,具体用于确定预先保存的利用所述第一域名进行网络请求成功时的ip地址;利用包括所述ip地址的网址发起第二网络请求。可选地,所述确定模块20,具体用于确定所述第一网络请求返回的响应消息是否指示为域名请求失败;当所述响应消息指示为域名请求失败,则确定所述第一网络请求失败为域名请求失败。本发明实施例中,确定模块20可以在第一网络请求失败后,确定该第一网络请求失败是否为域名请求失败。其中,该域名请求失败可以通过服务器返回的响应消息中的状态行信息判断。在确定为域名请求失败后,确定模块20就可以确定该第一域名所对应的备用域名,以便发送模块10发起第二网络请求,从而提高请求成功率。可选地,所述发送模块10,具体用于确定所述第一域名的备用域名;利用包括所述备用域名的网址发起第二网络请求。可选地,所述发送模块10,具体用于将所述ip地址拼接为统一资源定位符url;利用拼接的url发起第二网络请求,其中,所述第二网络请求中的头信息携带所述ip地址。本发明实施例中,在发送模块10使用包括ip地址的网址发送第二网络请求的时候,需要用该ip地址替换第一域名,拼接原来包括第一域名的网址,如若域名a请求成功时所对应的ip地址为ip地址1,且包含第一域名的网址若为http://域名a,在使用该网址进行网络请求失败后,在使用ip地址拼接后,该网址就变为了http://ip地址1。可选地,获取模块30,用于获取至少一个域名提供商提供的所述第一域名的至少一个备用域名。可选地,存储模块40,用于保存所述第一域名与所述至少一个备用域名之间的对应关系,所述对应关系中还包括每个备用域名的预设地理范围。本发明实施例中,获取模块50可以获取至少一个域名服务商提供的与该第一域名对应的备用域名,并通过存储模块40将该域名与备用域名的对应关系保存在本地存储中。可选地,所述发送模块10确定所述第一域名的备用域名,具体为:确定发起所述第一网络请求的地理位置;查询所述地理位置对应的备用域名。可见,图6所示的实施例中,终端可以在第一网络请求失败时,确定该第一网络请求失败的原因,即分析导致该第一请求失败的原因为域名请求失败还是ip请求失败。并就不同的失败原因提出了不同的解决方案。例如,若为域名请求失败就使用备用域名发送第二网络请求,若为ip请求失败就使用ip地址发送第二网络请求。由此,终端可以通过使用缓存的ip地址以及使用备用域名的方式再次发送网络请求,从而提高了网络请求的成功率。请参阅图7,为本发明第三实施例提供的一种电子设备的结构示意图。该电子设备可以为各种智能终端,包括但不限于平板电脑、手机、智能可穿戴设备等终端。具体地,该电子设备可以包括:至少一个处理器701,例如中央处理器(centralprocessingunit,cpu),至少一个通信接口702,至少一个通信总线703,存储器704。其中,通信接口702可以包括显示屏(display)、键盘(keyboard),可选地,通信接口702还可以包括标准的有线接口、无线接口。其中,通信总线703用于实现这些组件之间的连接通信。存储器704可以是随机存取存储器(randomaccessmemory,ram),也可以是非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储器704,可选地,还可以是至少一个位于远离前述处理器701的存储装置。其中,存储器704中可以存储一组程序代码,处理器701可以结合图5和6所描述的装置,调用存储器704中存储的程序代码,以用于执行一种请求处理方法,即用于执行以下操作:利用包括第一域名的网址发起第一网络请求;所述第一域名为预设时长内网络请求成功时保存的域名;在所述第一网络请求失败时,确定所述第一网络请求失败的原因;根据确定的原因发起第二网络请求。7本发明实施例中,处理器701调用存储器704中的程序代码,所述确定所述第一网络请求失败的原因,还用于执行以下操作:确定所述第一网络请求返回的响应消息是否包括预设内容;当所述响应消息中未包括预设内容,则确定所述第一网络请求失败为ip请求失败。本发明实施例中,处理器701调用存储器704中的程序代码,所述根据确定的原因发起第二网络请求,还用于执行以下操作:确定预先保存的利用所述第一域名进行网络请求成功时的网际协议ip地址;利用包括所述ip地址的网址发起第二网络请求。本发明实施例中,处理器701调用存储器704中的程序代码,所述确定所述第一网络请求失败的原因,还用于执行以下操作:确定所述第一网络请求返回的响应消息是否指示为域名请求失败;当所述响应消息指示为域名请求失败,则确定所述第一网络请求失败为域名请求失败。本发明实施例中,处理器701调用存储器704中的程序代码,所述根据确定的原因发起第二网络请求,还用于执行以下操作:确定所述第一域名的备用域名;利用包括所述备用域名的网址发起第二网络请求。本发明实施例中,处理器701调用存储器704中的程序代码,利用包括所述ip地址的网址发起第二网络请求,还用于执行以下操作:将所述ip地址拼接为统一资源定位符url;利用拼接的url发起第二网络请求,其中,所述第二网络请求中的头信息携带所述ip地址。本发明实施例中,处理器701调用存储器704中的程序代码,还用于执行以下操作:获取至少一个域名提供商提供的所述第一域名的至少一个备用域名;保存所述第一域名与所述至少一个备用域名之间的对应关系至所述存储器704中,所述对应关系中还包括每个备用域名的预设地理范围。本发明实施例中,处理器701调用存储器704中的程序代码,所述确定所述第一域名的备用域名,还用于执行以下操作:确定发起所述第一网络请求的地理位置;查询所述地理位置对应的备用域名。可见,图7所示的实施例中,终端可以使用包括第一域名的网址发送第一网络请求,在该第一网络请求失败后,可以确定该第一域名进行网络请求失败的原因,并且根据该原因发送发送第二网络请求。进一步地,终端若确定第一网络请求失败为域名请求失败,那么就可以使用备用域名进行第二网络请求。若终端确定第一网络请求失败为ip请求失败,那么终端就可以通过查找网络请求成功时所使用的ip地址,以再次发送网络请求。可选地,终端可以在第二网络请求失败后,尝试用备用域名再次发起网络请求。通过以上方式,终端可以根据网络请求失败的实际情况,尝试切换ip地址以及使用备用域名再次发起网络请求,以提高网络请求的成功率,从而获取用户想要的资源。以上对本发明实施例公开的一种请求处理方法、装置及电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1