一种访问网站的方法及客户端与流程

文档序号:11460129阅读:742来源:国知局
一种访问网站的方法及客户端与流程

本发明涉及网络访问技术领域,尤其涉及一种访问网站的方法及客户端。



背景技术:

目前,用户通过客户端上的应用程序(app,application)访问网站的方式一般为:app通过域名的方式访问网站;具体的,首先,在app中输入访问网站的网址,接着,利用域名(dns,domainnamesystem)服务器对网址中包含的域名进行解析,使客户端获取到该域名对应的网络之间互连的协议(ip,internetprotocol)地址,最后,根据获取到的ip地址,客户端与网站服务器建立传输控制协议(tcp,transmissioncontrolprotocol)连接,并向网站服务器发送超文本传输协议(http,hypertexttransferprotocol)请求与该ip地址对应的网站的服务器进行通信,以访问该网页。

但是,由于网络环境复杂,可能会出现dns解析域名失败的情况,比如,一些刻意制造或无意中制造出来的域名服务器分组,把域名指向不正确的ip地址造成dns被污染、dns宕机等,而客户端上的app无法输入对应的ip地址,此时,网站服务器根据所述http请求返回域名解析失败的提示消息给客户端上的app,造成app无法对网站进行访问。

因此,亟需找到一种在dns不能正常使用的情况下,也能正常访问网站的解决方案。



技术实现要素:

有鉴于此,本发明实施例期望提供一种访问网站的方法及客户端,能够在dns不能正常使用的情况下正常访问网站。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供一种访问网站的方法,所述方法包括:

向网站服务器发送第一访问请求;

当检测到网站服务器针对所述第一访问请求返回解析域名失败的指示消息时,向网站服务器发送第二访问请求,基于所述第二访问请求携带的信息访问网站;

其中,所述第一访问请求和第二访问请求携带的信息不同。

上述方案中,所述向网站服务器发送第二访问请求之前,所述方法还包括:

获取ip地址列表;

从所述ip地址列表随机获取或选择获取一个ip地址,并将所获取的ip地址携带于第二访问请求中。

上述方案中,所述获取ip地址列表,包括:对访问的网站进行分类,根据不同类别的网站分别对应的ip地址生成ip地址列表;或,向服务提供商请求获取ip地址列表。

上述方案中,所述方法还包括:向服务提供商发送获取ip地址列表的请求,根据所述服务提供商提供的一个以上ip地址和访问信息对ip地址列表进行动态更新;

其中,所述访问信息包括:访问时间、链路的连通性、访问性能的优劣;所述发送获取ip地址列表的请求包括:实时发送、或周期性发送、或根据需要发送。

上述方案中,所述基于所述第二访问请求携带的信息访问网站,包括:

基于所述第二访问请求中包含的ip地址直接访问所述ip地址对应的网站。

上述方案中,所述将所获取的ip地址携带于第二访问请求中,包括:

采用硬编码技术将第一访问请求的统一资源定位器(url,uniformresourcelocator)中的域名替换为ip地址,生成第二访问请求。

本发明实施例提供一种客户端,所述客户端包括:

发送模块,用于向网站服务器发送第一访问请求;

访问模块,用于当检测到网站服务器针对所述第一访问请求返回解析域名失败的指示消息时,向网站服务器发送第二访问请求,基于所述第二访问请求携带的信息访问网站;其中,所述第一访问请求和第二访问请求携带的信息不同。

上述方案中,所述客户端还包括:

获取模块,用于获取ip地址列表;

生成模块,用于从所述ip地址列表随机获取或选择获取一个ip地址,并将所获取的ip地址携带于第二访问请求中。

上述方案中,所述获取模块,具体用于对访问的网站进行分类,根据不同类别的网站分别对应的ip地址生成ip地址列表;或,向服务提供商请求获取ip地址列表。

上述方案中,所述客户端还包括:

更新模块,用于向服务提供商发送获取ip地址列表的请求,根据所述服务提供商提供的一个以上ip地址和访问信息对ip地址列表进行动态更新;

其中,所述访问信息包括:访问时间、链路的连通性、访问性能的优劣;所述发送获取ip地址列表的请求包括:实时发送、或周期性发送、或根据需要发送。

上述方案中,所述访问模块,具体用于基于所述第二访问请求中包含的ip地址直接访问所述ip地址对应的网站。

上述方案中,所述生成模块,具体用于采用硬编码技术将第一访问请求的url中的域名替换为ip地址,生成第二访问请求。

本发明实施例提供的访问网站的方法及客户端,向网站服务器发送第一访问请求;当检测到网站服务器针对所述第一访问请求返回解析域名失败的指示消息时,向网站服务器发送第二访问请求,基于所述第二访问请求携带的信息访问网站;其中,所述第一访问请求和第二访问请求携带的信息不同。如此,当检测到网站服务器针对第一访问请求返回解析域名失败的指示消息时,能基于第二访问请求携带的信息如访问网站对应的ip地址来访问网站;从而,实现在dns不能正常使用的情况下也能正常访问网站。

附图说明

图1为本发明实施例访问网站的方法的实现流程示意图;

图2为本发明实施例客户端的组成结构示意图;

图3为本发明实施例客户端上的app访问网站的具体实现流程示意图。

具体实施方式

本发明实施例中,首先,客户端向网站服务器发送第一访问请求;其次,当客户端检测到网站服务器针对所述第一访问请求返回解析域名失败的指示消息时,向网站服务器发送第二访问请求,基于所述第二访问请求携带的信息访问网站;其中,所述第一访问请求和第二访问请求携带的信息不同。

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

实施例一

如图1所示,本实施例中访问网站的方法,包括以下步骤:

步骤101:向网站服务器发送第一访问请求;

这里,客户端向网站服务器发送第一访问请求,所述第一访问请求携带有url,url中包括访问网站对应的ip地址的域名,并将url中的域名信息存储在第一访问请求的头部,具体的,第一访问请求可以是http请求。

步骤102:当检测到网站服务器针对所述第一访问请求返回解析域名失败的指示消息时,向网站服务器发送第二访问请求,基于所述第二访问请求携带的信息访问网站;其中,所述第一访问请求和第二访问请求携带的信息不同。

本步骤中第二访问请求携带的信息包括访问网站对应的ip地址;具体的,第二访问请求可以是http请求。

这里,所述向网站服务器发送第二访问请求之前,还包括:获取ip地址列表;从所述ip地址列表随机获取或选择获取一个ip地址,并将所获取的ip地址携带于第二访问请求中。

这里,所述获取ip地址列表,包括:对访问的网站进行分类,根据不同类别的网站分别对应的ip地址生成ip地址列表;或,向服务提供商请求获取ip地址列表。

这里,所述ip地址列表可以预先存储在客户端中,具体地,可以将所述ip地址列表预先存储在客户端上的app对应的存储地址内。

这里,所述访问网站的方法还包括:向服务提供商发送获取ip地址列表的请求,根据所述服务提供商提供的一个以上ip地址和访问信息对ip地址列表进行动态更新;

其中,所述访问信息包括:访问时间、链路的连通性、访问性能的优劣;所述发送获取ip地址列表的请求包括:实时发送、或周期性发送、或根据需要发送。

这里,所述基于所述第二访问请求携带的信息访问网站,包括:基于所述第二访问请求中包含的ip地址直接访问所述ip地址对应的网站。

这里,所述将所获取的ip地址携带于第二访问请求中,包括:采用硬编码技术将第一访问请求的url中的域名替换为ip地址,生成第二访问请求。

这里,所述访问网站的方法还包括:当客户端没有检测到网站服务器针对所述第一访问请求返回解析域名失败的指示消息时,通过dns服务器对所述第一访问请求中包含的域名进行解析得到对应网站服务器的ip地址,访问所述ip地址对应的网站。

这里,客户端从ip地址列表随机或者选择性获取一个ip地址,具体包括以下三种情况:

情况一、客户端从ip地址列表随机选取一个ip地址;

具体地,首先,对访问的网站进行分类,具体可以分为:搜索类网站、购物类网站等等;然后,根据不同类别的网站分别对应的ip地址生成第一ip地址列表;

举例来说,搜索类网站包括百度、谷歌、雅虎,其中,百度网站对应的ip地址为220.181.112.244,谷歌网站对应的ip地址为93.123.23.2,雅虎网站对应的ip地址为221.182.133.51,根据百度、谷歌和雅虎分别对应的ip地址生ip地址列表。

当客户端检测到网站服务器针对第一访问请求返回解析域名失败的指示消息时,从所述ip地址列表中找到与用户当前访问网站的类别相同的一类ip地址中随机选取一个ip地址。

情况二、优选地,客户端从ip地址列表选择选取一个ip地址,具体可以分为两种选择情况;

第一种选择情况、在客户端向网站服务器发送第一访问请求,且dns解析域名失败之前,不存在dns成功解析第一访问请求中包含的域名的情况,这里,客户端从ip地址列表中选择获取一个ip地址;

具体地,这里,可以实时或周期或有事件发生时根据访问网站的信息对所述第一ip地址列表进行更新得到第二ip地址列表,所述访问网站的信息包括访问次数、访问速度、网站评价;具体将访问次数、访问速度、网站评价分别乘以一个比例系数并进行加权后,综合排列网站的优先级,按照优先级的高低顺序将不同网站对应的ip地址生成第二ip地址列表。

当客户端检测到网站服务器针对第一访问请求返回解析域名失败的指示消息时,从第二ip地址列表中选取一个优先级最高的ip地址。

第二种选择情况、在客户端向网站服务器发送第一访问请求,且dns解析域名失败之前,存在dns成功解析第一访问请求中包含的域名的情况,这里,客户端从服务提供商获取的第二ip地址列表中选择性获取一个ip地址;

具体地,首先,在服务提供商上预设一个服务,并在所述服务上设置一个以上ip地址,分别对应客户端接入网络为移动网络、电信网络、联通网络时访问网站对应的ip地址;所述服务会根据网络的情况动态地更新所述一个以上ip地址,并记录对应接入网络为移动网络、电信网络、联通网络时访问网站对应的信息,所述信息包括:访问时间、链路的连通性、访问性能的优劣;

其次,客户端向服务提供商实时发送或周期性发送或根据需要发送获取ip地址列表请求,服务提供商通过预设服务将预设一个以上ip地址以及访问信息发送给所述客户端;客户端根据服务提供商发送的一个以上ip地址和访问信息对第一ip地址列表进行动态更新得到所述第二ip地址列表。

当客户端检测到网站服务器针对第一访问请求返回解析域名失败的指示消息时,从第二ip地址列表中选取一个访问性能最优的ip地址。

这里,还可以是,客户端定时向服务提供商实时发送或周期性发送或根据需要发送获取ip地址列表请求,服务提供商检测发送获取ip地址请求的客户端使用的接入网络,当判断客户端的接入网络为移动网络时,从预设服务中设置的一个以上ip地址中选择一个接入网络为移动网络时访问网站对应的ip地址发送给客户端;或,当判断客户端的接入网络为联通网络时,从预设服务中设置的一个以上ip地址中选择一个接入网络为联通网络时访问网站对应的ip地址发送给客户端;或,当判断客户端的接入网络为电信网络时,从预设服务中设置的一个以上ip地址中选择一个接入网络为电信网络时访问网站对应的ip地址发送给客户端;客户端根据服务提供商发送的所述ip地址对第一ip地址列表进行动态更新得到所述第二ip地址列表。

当客户端检测到网站服务器针对第一访问请求返回解析域名失败的指示消息时,从第二ip地址列表中选择取一个访问性能最优的ip地址。

这里,服务提供商为高可信服务器,可保障访问的安全性。

这里,客户端包括但不限于普通电脑、移动终端如手机。

实施例二

为实现实施例一的方法,本实施例提供了一种客户端,如图2所示,所述客户端包括:发送模块21、访问模块22;其中,

所述发送模块21,用于向网站服务器发送第一访问请求;

所述访问模块22,用于当检测到网站服务器针对所述第一访问请求返回解析域名失败的指示消息时,向网站服务器发送第二访问请求,基于所述第二访问请求携带的信息访问网站;

这里,所述第一访问请求和第二访问请求携带的信息不同;其中,

第一访问请求携带的信息包括访问网站对应的ip地址的域名。具体的,第一访问请求可以是http请求。

第二访问请求携带的信息包括访问网站对应的ip地址;具体的,第二访问请求可以是http请求。

这里,所述客户端还包括:

获取模块,用于获取ip地址列表;

生成模块,用于从所述ip地址列表随机获取或选择获取一个ip地址,并将所获取的ip地址携带于第二访问请求中。

这里,所述获取模块,具体用于对访问的网站进行分类,根据不同类别的网站分别对应的ip地址生成ip地址列表;或,向服务提供商请求获取ip地址列表。

这里,所述ip地址列表可以预先存储在客户端中,具体地,可以将所述ip地址列表预先存储在客户端上的app对应的存储地址内。

这里,所述客户端还包括:

更新模块,用于向服务提供商发送获取ip地址列表的请求,根据所述服务提供商提供的一个以上ip地址和访问信息对ip地址列表进行动态更新;其中,所述访问信息包括:访问时间、链路的连通性、访问性能的优劣;所述发送获取ip地址列表的请求包括:实时发送、或周期性发送、或根据需要发送。

这里,当客户端检测到网站服务器针对第一访问请求返回解析域名失败的指示消息时,从ip地址列表中随机选取一个ip地址;优选地、从更新的ip地址列表中选择获取一个ip地址。

这里,服务提供商为高可信服务器,可保障访问的安全性。

这里,所述访问模块22,具体用于基于所述第二访问请求中包含的ip地址直接访问所述ip地址对应的网站。

这里,所述生成模块,具体用于采用硬编码技术将第一访问请求的url中的域名替换为ip地址,生成第二访问请求。

在实际应用中,发送模块21、访问模块22、获取模块、生成模块和更新模块可由位于客户端上的中央处理器(cpu,centralprocessingunit)、微处理器(mpu,microprocessorunit)、数字信号处理器(dsp,digitalsignalprocessor)、或现场可编程门阵列(fpga,fieldprogrammablegatearray)等实现。

下面以客户端上的app访问网站为具体实例详细说明本发明在实际应用中的实现过程及原理。

图3为本发明实施例客户端上的app访问网站的具体实现流程示意图,如图3所示,列举了两种访问网站的方式,一种是在dns解析域名成功的时候实现访问网站的方式,另一种是在dns解析域名失败的时候实现访问网站的方式。具体实现过程,包括如下步骤:

步骤301:客户端上的app向网站服务器发送第一http请求;

步骤302:当app检测到网站服务器针对所述第一http请求返回解析域名失败的指示消息时,执行步骤303;否则,执行步骤306;

步骤303:对访问的网站进行分类,根据不同类别的网站分别对应的ip地址生成ip地址列表;或,向服务提供商请求获取ip地址列表;从所述ip地址列表随机或者选择获取一个ip地址作为备用ip地址;

步骤304:采用硬编码技术,将第一http请求的url中的域名替换为备用ip地址,生成第二http请求;

步骤305:app向网站服务器发送第二http请求,基于第二http请求中携带的ip地址直接访问与所述ip地址对应的网站;

步骤306:dns服务器对所述第一http请求中包含的域名进行解析得到对应网站服务器的ip地址,访问所述ip地址对应的网站。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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