本发明专利技术公开了一种浏览器下载文件的方法,涉及浏览器技术领域。所述方法包括:浏览器当前内核触发下载链接后,获取下载失败列表;根据所述下载失败列表,选择确定是否切换另一内核的下载组件或者切换到独立于浏览器的下载组件,根据所述下载链接执行下载过程;当采用一切换后的下载组件根据所述下载链接执行下载过程失败之后,将下载失败的状态更新到所述下载失败列表中。由此解决了对某一链接在切换内核进行下载时,下载会一直失败的问题,取得了在内核触发下载链接后,对于可能下载失败的切换动作不予执行,避免切换下载组件导致下载失败,并且可以智能对切换状态进行修正的有益效果。
【技术实现步骤摘要】
本专利技术涉及互联网
,具体涉及一种浏览器下载文件的方法、一种浏览器 客户端和一种带有浏览器客户端的装置。
技术介绍
浏览器是指可以显示网页服务器或者文件系统的HTML(超文本标记语 言,HyperText Mark-up Language))文件内容,并让用户与这些文件交互的一种软件。网 页浏览器主要通过HTTP协议(Hypertext transfer protocol,超文本传输协议)与网页服 务器交互并获取网页,这些网页由URL(统一资源定位符,Uniform Resource Locator)指 定,文件格式通常为HTML(Hypertext Markup Language,超文本标记语言)。浏览器也可提 供资源的上传和下载功能。 由于现在网页的格式不统一,不同网站采用不同格式对网页内容进行编辑,因此 为了使用户更为方便的访问各种网站,出现了双核甚至多核浏览器。在使用双核或者多核 浏览器时,如果采用浏览器进行下载时,对于浏览器开发者来说,其一般会将各个内核的触 发的下载过程都切换至同一个下载组件中执行。在传统的双核或者多核浏览器中,一般均 包括了 IE内核,但是IE内核的下载组件的功能简单,效率低。那么对于IE内核在访问网 页的过程中,如果触发了下载链接,其都将该下载链接切换到其他内核的下载组件中执行 下载过程,比如chrome内核的下载组件;或者切换到独立与浏览器的下载组件中执行下载 过程,比如迅雷下载组件。但是由于网页格式的限制,比如ie内核切换到chrome内核的下 载时,ie的下载链接对于chrome内核来说并不能下载,贝会出现无法下载的情况;或者说 服务器对于同一主机在短时间内的链接次数的限制,其切换下载组件的过程中还是会出现 同一主机多次链接服务器的情况,服务器则会禁止切换后的下载组件的下载,其切换后的 下载组件下载也会失败。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上 述问题的浏览器客户端和相应的浏览器下载文件方法。 依据本专利技术的一个方面,提供了一种浏览器下载文件的方法,包括: 浏览器当前内核触发下载链接后,获取下载失败列表; 根据所述下载失败列表,选择确定是否切换另一内核的下载组件或者切换到独立 于浏览器的下载组件,根据所述下载链接执行下载过程; 当采用一切换后的下载组件根据所述下载链接执行下载过程失败之后,将下载失 败的状态更新到所述下载失败列表中。 优选地,所述当采用一切换后的下载组件根据所述下载链接执行下载过程失败之 后,将下载失败的状态更新到所述下载失败列表中包括: 以当前内核的下载链接为关键字段,在所述下载失败列表中记录切换到另一下载 组件后下载失败的次数。 优选地,以当前内核的下载链接为关键字段,记录切换到另一下载组件后下载失 败的次数包括: 提取所述当前内核的下载链接的主域名; 查找所述下载失败列表中是否有该主域名; 如果所述下载失败列表中有所述主域名,则判断所述主域名下是否有切换后的所 述下载组件字段; 如果所述主域名下有切换后的所述下载组件字段,则在该下载字段下的失败次数 上加1 ; 如果所述主域名下没有记有切换后的所述下载组件字段,则添加所述下载组件字 段,并在所述下载组件字段下记录切换失败次数; 如果所述下载失败列表中没有所述主域名,则添加所述主域名,并在所述主域名 下添加所述切换后的下载组件字段,以在所述下载组件字段下记录切换失败次数。 优选地,所述根据所述下载失败列表,选择确定是否切换另一内核的下载组件或 者切换到独立于浏览器的下载组件,根据所述下载链接执行下载过程包括: 提取所述下载链接的主域名,将所述主域名与下载失败列表中的主域名进行匹 配; 如果主域名与下载失败列表中的主域名没匹配上,则切换另一内核的下载组件或 者切换到独立于浏览器的下载组件,以根据所述下载链接执行下载过程; 如果主域名与下载失败列表中的主域名匹配上,则判断所述下载失败列表中所述 主域名下是否存在未记录的下载组件;如果存在未记录的下载组件,则切换到所述未记录 的下载组件中的一个以根据所述下载链接执行下载过程; 如果不存在未记录的下载组件,则判断是否存在下载失败次数小于失败阈值的下 载组件; 如果存在下载失败次数小于失败阈值的下载组件,则切换到所述失败次数小于失 败阈值的下载组件中的一个,以根据所述下载链接执行下载过程; 如果不存在下载失败次数小于失败阈值的下载组件,则不切换到另一下载组件, 采用当前内核的下载组件以根据所述下载链接执行下载过程执行下载过程。 优选地,还包括: 判断浏览器当前内核触发的链接是否为下载链接。 优选地,所述判断浏览器当前内核触发的链接是否为下载链接包括: 根据浏览器当前内核发送的HTTP请求头部的文件类型字段的值,当所述文件类 型字段的值为浏览器内核不能解析为在页面中展示的类型时,则判断所述对应的链接为下 载链接。 和/或,根据服务器针对当前内核发送的HTTP请求反馈的HTPP响应中的文件类 型字段的值,当所述文件类型字段的值为浏览器内核不能解析为在页面中展示的类型时, 则判断所述对应的链接为下载链接。 优选地,在根据所述下载链接执行下载过程之前,还包括: 检测所述下载链接是否安全;如果所述下载链接不安全,则提示用户是否继续下 载。 优选地,在根据所述下载链接执行下载过程之前还包括: 判断所述下载链接对应的refer链中的各个链接是否安全;如果所述下载链接对 应的refer链中的各个链接不安全,则提示用户是否继续进行下载。 根据本专利技术的另一方面,提供了一种浏览器客户端,包括: 网络组件,适于根据下载链接发送网络请求,从服务器获取数据; 下载组件,包括: 列表获取模组,适于浏览器当前内核触发下载链接后,获取下载失败列表; 内核切换模组,适于根据所述下载失败列表,选择确定是否切换另一内核的下载 组件或者切换到独立于浏览器的下载组件,根据所述下载链接调用网络组件执行下载过 程; 列表更新模组,适于当采用一切换后的下载组件根据所述下载链接执行下载过程 失败之后,将下载失败的状态更新到所述下载失败列表中。 优选地,所述列表更新模组包括: 第一列表更新模组,适于以当前内核的下载链接为关键字段,在所述下载失败列 表中记录切换到另一下载组件后下载失败的次数。 优选地,所述第一列表更新模组包括: 主域名提取模组,适于提取所述当前内核的下载链接的主域名; 主域名查找模组,适于查找所述下载失败列表中是否有该主域名; 主域当前第1页1 2 3 本文档来自技高网...
【技术保护点】
一种浏览器下载文件的方法,包括:浏览器当前内核触发下载链接后,获取下载失败列表;根据所述下载失败列表,选择确定是否切换另一内核的下载组件或者切换到独立于浏览器的下载组件,根据所述下载链接执行下载过程;当采用一切换后的下载组件根据所述下载链接执行下载过程失败之后,将下载失败的状态更新到所述下载失败列表中。
【技术特征摘要】
【专利技术属性】
技术研发人员:杨晓兵,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。