CN103853851B - 浏览器中的文件下载方法和浏览器装置 - Google Patents

浏览器中的文件下载方法和浏览器装置 Download PDF

Info

Publication number
CN103853851B
CN103853851B CN201410126041.5A CN201410126041A CN103853851B CN 103853851 B CN103853851 B CN 103853851B CN 201410126041 A CN201410126041 A CN 201410126041A CN 103853851 B CN103853851 B CN 103853851B
Authority
CN
China
Prior art keywords
download
browser
file
browser kernel
kernel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410126041.5A
Other languages
English (en)
Other versions
CN103853851A (zh
Inventor
杨晓兵
周鸿祎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410126041.5A priority Critical patent/CN103853851B/zh
Publication of CN103853851A publication Critical patent/CN103853851A/zh
Priority to PCT/CN2015/070054 priority patent/WO2015149570A1/zh
Application granted granted Critical
Publication of CN103853851B publication Critical patent/CN103853851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Abstract

本发明公开了一种浏览器中的文件下载方法和浏览器装置,其中,方法包括:在第一浏览器内核侧发起对一预下载文件的下载;通过拦截操作阻断第一浏览器内核侧对预下载文件的下载,并将预下载文件的下载信息发送到第二浏览器内核侧的下载组件,由下载组件在第二浏览器内核侧下载预下载文件。根据该方案,下载由相对性能较高的第二浏览器内核侧的下载组件完成,这提高了下载的效率,同时为浏览器下载行为提供统一的入口和统一的下载界面,便于用户查看历史记录,调整下载选项等操作。

Description

浏览器中的文件下载方法和浏览器装置
技术领域
本发明涉及互联网技术领域,具体涉及一种浏览器中的文件下载方法和浏览器装置。
背景技术
浏览器是显示网站服务器或文件系统内的文件,用于显示在万维网或局域网等内的文字、图像及其他信息。这些文字或图像,用户可迅速及轻易地浏览各种信息。PC上常见的浏览器包括Internet Explorer、Firefox、Google的Chrome等。浏览器通过内核对网页进行解释和渲染,在上述浏览器中,Internet Explorer采用Trident内核,Chrome浏览器采用的是Webkit内核,Firefox采用Gecko内核。由于Webkit等非IE内核能实现更好的用户体验,然而,部分网页只支持IE的Trident内核,例如,银行网站等。因此出现了双核浏览器,通过速度快的Webkit内核等进行一般网页的显示,对银行网站等特殊网页采用Trident内核,或由用户选择指定的内核。
然而,在现有的双核浏览器,例如Webkit和Trident双核浏览器中进行文件下载时,由发起访问的内核侧负责进行下载,这一方面不便于用进行下载管理,查看下载历史,没有一致的体验,另一方面,如果在IE中进行下载,则下载通过http进行数据传送,下载速度慢并受到资源等诸多方面的限制,在性能上远不如Chrome下载器或其他以P2P等方式进行下载的独立下载器。总而言之,这样的双核浏览器无法实现统一、高效的下载。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器中的文件下载方法和浏览器装置。
根据本发明的一个方面,提供了一种浏览器中的文件下载方法,浏览器包括第一浏览器内核和第二浏览器内核,该方法包括:在第一浏览器内核侧发起对一预下载文件的下载;通过拦截操作阻断第一浏览器内核侧对预下载文件的下载,并将预下载文件的下载信息发送到第二浏览器内核侧的下载组件,由下载组件在第二浏览器内核侧下载预下载文件。
根据本发明的另一方面,提供了一种浏览器装置,包括第一浏览器内核组件和第二浏览器内核组件,在该浏览器装置中,第一浏览器内核组件用于发起对一预下载文件的下载,以及通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载,将预下载文件的下载信息发送到所述第二浏览器内核组件;第二浏览器内核组件用于接收预下载文件的下载信息,由下载组件在第二浏览器内核侧下载预下载文件。
根据本发明的浏览器中的文件下载方法和浏览器装置,当第一浏览器内核侧发起对一预下载文件的下载时,拦截该次下载操作,阻断第一浏览器内核侧对预下载文件的下载,并将预下载文件的下载信息发送到第二浏览器内核侧的下载组件,由下载组件在第二浏览器内核侧下载预下载文件。根据该方案,下载由相对性能较高的第二浏览器内核侧的下载组件完成,这提高了下载的效率,同时为浏览器下载行为提供统一的入口和统一的下载界面,便于用户查看历史记录,调整下载选项等操作。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1a示出了根据本发明一个实施例的浏览器中的文件下载方法的流程图;
图1b示出了该实施例中第二浏览器内核侧的下载组件的下载界面示意图;
图2a示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图;
图2b示出了该实施例中下载组件的下载界面示意图;
图2c示出了该实施例中下载组件中的各用户设置项;
图3示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图;
图4a示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图;
图4b示出了具有用户选择接口的下载器的示意图;
图4c示出了第一浏览器内核侧重新发起下载的下载界面示意图;
图5示出了根据本发明一个实施例的浏览器装置的结构框图;
图6示出了根据本发明另一个实施例的浏览器装置的结构框图;
图7示出了根据本发明另一个实施例的浏览器装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1a示出了根据本发明一个实施例的浏览器中的文件下载方法的流程图,浏览器包括第一浏览器内核和第二浏览器内核,如图1a所示,该方法包括如下步骤:
步骤S110,在第一浏览器内核侧发起对一预下载文件的下载。
采用双浏览器内核的目的是为兼顾性能和兼容性,因此,现有的浏览器中,第一浏览器内核都为IE浏览器使用的Trident内核,该内核具有较强的兼容性。
步骤S120,通过拦截操作阻断第一浏览器内核侧对预下载文件的下载。
通过实现IE提供的下载接口完成对预下载文件的拦截。从该接口下的函数的参数中获取预下载文件的下载信息,下载信息包括预下载文件的URL,第二浏览器内核侧的下载组件从相应的服务器获取下载文件数据包。
步骤S130,将预下载文件的下载信息发送到第二浏览器内核侧的下载组件。
具体地,该步骤可通过IPC(进程间通信)等方式相第二浏览器内核侧的下载组件发送消息实现。第二浏览器内核一般为Chrome浏览器的Webkit内核,或其他内核,例如,在Avant浏览器中,采用的是Gecko内核。Webkit等第二浏览器内核与Trident第一浏览内核相比,性能更高。
步骤S140,下载组件在第二浏览器内核侧下载预下载文件。
具体地,可通过第二浏览器内核侧的内建下载器进行下载,例如Chrome提供的集成下载工具,或通过与浏览器独立的下载软件提供的下载组件进行,如,迅雷下载工具。该独立下载组件的入口通过第二浏览器内核侧提供。
图1b示出了实施例中第二浏览器内核侧的下载组件的下载界面示意图,在图1b中,下载组件由与浏览器独立的迅雷下载提供支持。
根据本发明上述实施例提供的方法,当第一浏览器内核侧发起对一预下载文件的下载时,拦截该次下载操作,阻断第一浏览器内核侧对预下载文件的下载,并将预下载文件的下载信息发送到第二浏览器内核侧的下载组件,由下载组件在第二浏览器内核侧下载预下载文件。根据该方案,下载由相对性能较高的第二浏览器内核侧的下载组件完成,这提高了下载的效率,同时为浏览器下载行为提供统一的入口和统一的下载界面,便于用户查看历史记录,调整下载选项等操作。
图2a示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图,该浏览器装置包括第一浏览器内核和第二浏览器内核。如图2a所示,该方法包括如下步骤:
步骤S210,在第一浏览器内核侧分析服务器端反馈的http数据包中携带的信息以确定是否发起对预下载文件的下载;如果是,执行步骤S220,否则,由渲染进程解析http数据包并进行渲染。
对于一个普通的超链接,当用户在第一浏览器内核相应模式下点击该链接后,第一浏览器内核的渲染组件调用资源加载接口加载资源,该资源加载接口向浏览器发送消息,浏览器向服务器端进行网络请求,服务器端向浏览器反馈http数据包。在第一浏览器内核侧分析服务器端反馈的http数据包中携带的信息,依据http数据包中携带的信息确定是否发起对预下载文件的下载。
具体地,可以根据返回数据中的MIME类型信息判断该次网络请求是否为文件下载请求,在第一浏览器内核侧维护一个MIME类型的列表,如果返回数据的MIME类型记录在列表中,第一浏览器内核将返回数据作为资源直接渲染,否则将该次网络请求判断为文件下载。
在MIME类型判断不明确等情况下,还可以通过http数据包中携带的content-disposition的类型信息进行判断,确定是否发起对预下载文件的下载。
步骤S220,在第一浏览器内核侧发起对一预下载文件的下载。
由浏览器调用IE提供的Download接口通知浏览器上层显示下载界面,上层会决定是否下载,如果上层决定下载,浏览器通过第一浏览器内核建立与服务器端的连接,进行文件的传输。
步骤S230,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载。
具体地,该步骤进一步包括:实现WebBrowser,在实现的WebBrowser中实现IServiceProvider接口,从而拦截到对IID_IDownloadManager Service接口的QueryService调用,返回实现IDownloadManager接口的类实例指针。
步骤S240,提取预下载文件的下载地址作为所述预下载文件的下载信息。
具体地,实现IDownloadManager接口中,可对IDownloadManager::DownLoad函数做如下声明:
HRESULT Download(
IMoniker*pmk,
IBindCtx*pbc,
DWORD dwBindVerb,
LONG grfBINDF,
BINDINFO*pBindInfo,
LPCOLESTR pszHeaders,
LPCOLESTR pszRedir,
UINT uiCP
);
其中,pmk参数用于指定预下载的对象,截获该参数,从该参数中获取预下载文件的URL,作为下载地址。
步骤S250,将预下载文件的下载信息发送到由第二浏览器内核中的独立进程提供的下载组件。
第一浏览器内核进程,例如,IE进程,通过IPC(进程间通信)的方式将下载信息发送到由第二浏览器内核中的独立进程提供的下载组件。
例如,对于第二浏览器内核为WebKit的情况,具体为通过IE进程将预下载文件的URL信息发送到Chrome中内建的独立进程的下载器。
步骤S260,通过上述独立进程提供的下载组件下载预下载文件。
独立进程提供的下载组件创建下载任务,建立与服务器的链接,进行文件下载。
根据本发明上述实施例提供的方法,根据服务器端反馈的http数据包中携带的信息以确定是否发起对预下载文件的下载,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载,并将下载信息发送给第二浏览器内核中的独立进程提供的下载组件进行下载。根据该方案,文件的下载过程只通过第二浏览器内核侧进行,提供了统一、高效的下载入口,便于用户的查看和管理。
图2b示出了该实施例中下载组件的下载界面示意图,如图2b所示,该下载组件界面由第二浏览器内核中的独立进程提供,可以是Chrome内建下载等。图2c示出了该下载组件可提供的用户设置项,包括下载目录,保存位置等,与IE下载相比,操作更方便。
图3示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图,其中,浏览器包括第一浏览器内核和第二浏览器内核。如图3所示,该方法包括如下步骤:
步骤S310,在第一浏览器内核侧分析服务器端反馈的http数据包中携带的信息以确定是否发起对预下载文件的下载;如果是,执行步骤S320,否则,由渲染进程渲染对http数据包进行渲染。
步骤S320,在第一浏览器内核侧发起对一预下载文件的下载。
步骤S330,拦截对IID_IDownloadManager Service接口的QueryService调用,返回实现IDownloadManager接口的类实例指针。
步骤S340,提取预下载文件的下载地址作为所述预下载文件的下载信息。
步骤S310-S340的实现过程可参考上一实施例中的步骤S210-S240,此处不再赘述。
步骤S350,将预下载文件的下载信息发送到第二浏览器内核侧的,独立于浏览器的下载软件提供的下载组件。
区别于上一实施例的是,该实施例中,下载组件与浏览器独立,以Webkit内核为例,下载组件通过一组接口函数与Chrome主进程通信。Chrome主进程可通过IPC(进程间通信)等方式向这些接口发送消息,而该独立下载组件的进程也通过相应的接口函数将下载进度等信息发送给Chrome主进程,由Chrome主进程显示在界面中。也即,该实施例中,首先按照Chrome的下载流程,获取下载信息并提示用户,待用户确认后,调用与浏览器独立的下载组件,按照下载信息创建下载任务。
进一步地,浏览器主进程可将Chrome内建下载工具中常用的下载配置发送给独立下载进程,例如,文件下载目录,是否询问保存位置,下载完成后是否执行等,通常这些配置选项显示在Chrome内建下载的界面中。
进一步地,在界面中为用户提供接口,例如,暂停下载、删除、停止、重新下载等,接收用户操作,再将操作信息发送给独立下载进程,实现对下载的管理和查询。
上述与浏览器独立的下载组件由迅雷、快播、网际快车或比特彗星等常见的下载工具提供。
步骤S360,通过上述独立于浏览器的下载软件提供的下载组件对预下载文件进行下载。
独立下载软件提供的下载组件与第二浏览器内核提供的下载组件,如Chrome中的下载组件相比下载速度更快,性能更佳,可通过P2P等方式进行下载,资源受限较少。并且能够隔离外部程序可能对浏览器主进程的破坏,避免对文件下载的中断和干扰。
步骤S370,启动安全组件对下载的文件进行安全扫描,并给出安全扫描的结果。
例如,在浏览器中集成扫描工具和木马特征库、恶意网址库等,这可以避免传统杀毒工具滞后查杀的缺陷。
步骤S380,依据下载的文件的类型,在移动终端中进行安装下载的文件。
例如,检测到智能手机等移动终端与PC端相连接时,若下载文件为apk等特定类型,直接安装至移动终端中。
该实施例中,独立于浏览器的下载组件的下载界面可参照图2。
根据本发明上述实施例提供的方法,采用独立于浏览器的下载软件进行下载,性能更佳,资源受限较少。并且能够隔离外部程序可能对浏览器主进程的破坏,避免对文件下载的中断和干扰。
图4a示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图,其中,浏览器包括第一浏览器内核和第二浏览器内核。如图4a所示,该方法包括如下步骤:
步骤S410,在第一浏览器内核侧发起对一预下载文件的下载。
步骤S420,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载。
步骤S430,提取预下载文件的下载地址作为所述预下载文件的下载信息。
步骤S440,将预下载文件的下载信息发送到第二浏览器内核侧的下载组件。
步骤S410-S440的实施过程可参照上一实施例,此处不再赘述。
步骤S450,下载组件给出下载界面。
区别于上一实施例的是,下载界面中含有使用第一浏览器内核进行下载的入口。
步骤S460,检测用户是否选择使用第一浏览器内核进行下载的入口;如果是,执行步骤S470,否则,执行步骤S480。
步骤S470,第一浏览器内核侧重新发起对预下载文件的下载,由第一浏览器内核侧建立网络连接下载所述预下载文件。
步骤S480,由下载组件在第二浏览器内核侧下载所述预下载文件。
该步骤的具体过程与上一实施例相同,此处不再赘述。
图4b示出了该实施例下的一种下载界面的示意图,图4c示出了通过IE重新发起下载的下载界面示意图。可见,图4b中的下载组件上给出“用IE下载”的接口,用户点击后,该下载界面关闭,而弹出图4c所示的IE下载界面,IE重新发起对预下载文件的下载建立网络,进行下载。
根据本发明上述实施例提供的方法,提供了第一浏览器内核进行下载的入口,对不兼容Webkit等第二浏览器内核的文件下载,可利用IE重新发起下载,更具兼容性。
图5示出了根据本发明一个实施例的浏览器装置的结构框图,如图5所示,该浏览器装置包括:第一浏览器内核组件510和第二浏览器内核组件520,其中:
第一浏览器内核组件510用于发起对一预下载文件的下载,以及通过拦截操作阻断第一浏览器内核侧对预下载文件的下载,将预下载文件的下载信息发送到第二浏览器内核组件520;第二浏览器内核组件520用于接收预下载文件的下载信息,由下载组件530在第二浏览器内核侧下载预下载文件。
第一浏览器内核组件510还用于,在下载之前,分析服务器端反馈的http数据包中携带的信息,依据所述http数据包中携带的信息确定是否发起对预下载文件的下载。具体地,可以根据返回数据中的MIME类型信息判断该次网络请求是否为文件下载请求,在第一浏览器内核侧维护一个MIME类型的列表,如果返回数据的MIME类型记录在列表中,第一浏览器内核将返回数据作为资源直接渲染,否则将该次网络请求判断为文件下载。
在MIME类型判断不明确等情况下,第一浏览器内核组件510还可以通过http数据包中携带的content-disposition的类型信息进行判断,确定是否发起对预下载文件的下载。
第一浏览器内核组件510还用于:拦截第一浏览器内核的下载行为,通过实现IDownloadManager接口阻断第一浏览器内核侧对预下载文件的下载。
具体地,第一浏览器内核组件510拦截对IID_IDownloadManager Service接口的QueryService调用,返回实现IDownloadManager接口的类实例指针。
第一浏览器内核组件510还用于依据IDownloadManager接口的Download函数中的参数pmk和pbc,提取预下载文件的下载地址作为所述预下载文件的下载信息。
第一浏览器内核组件510提取下载信息后,将下载信息发送到第二浏览器内核组件520。在该实施例中,下载组件530由第二浏览器内核组件中的独立进程提供。例如,对于第二浏览器内核为WebKit的情况,上述过程具体为:第一浏览器内核组件510将预下载文件的URL下载信息发送到Chrome中内建的独立进程的下载组件530。
独立进程提供的下载组件530创建下载任务,建立与服务器的链接,进行文件下载。
图6示出了根据本发明另一个实施例的浏览器装置的结构框图,如图6所示,该浏览器装置包括:第一浏览器内核组件610和第二浏览器内核组件620,其中:
第一浏览器内核组件610用于发起对一预下载文件的下载,以及通过拦截操作阻断第一浏览器内核侧对预下载文件的下载,将预下载文件的下载信息发送到第二浏览器内核组件620;第二浏览器内核组件620用于接收预下载文件的下载信息,由下载组件630在第二浏览器内核侧下载预下载文件。
该实施例与上一实施例的区别在于:下载组件630集成在浏览器装置中且与浏览器独立,下载组件630通过一组接口函数与浏览器主进程,例如,与第二浏览器内核侧的Chrome主进程通信,以供Chrome主进程对下载任务进行管理和状态查询。
以下以Webkit作为第二浏览器内核为例,说明其工作过程。下载组件630通过一组接口函数与Chrome主进程通信。Chrome主进程可通过IPC(进程间通信)等方式向这些接口发送消息,而该独立下载组件630也通过相应的接口函数将下载进度等信息发送给Chrome主进程,由Chrome主进程显示在界面中。也即,第二浏览器内核620首先按照Chrome的下载流程,获取下载信息并提示用户,待用户确认后,调用与浏览器独立的下载组件630,按照下载信息创建下载任务,进行下载。
进一步地,第二浏览器组件620可将Chrome内建下载工具中常用的下载配置发送给独立下载进程,例如,文件下载目录,是否询问保存位置,下载完成后是否执行等,通常这些配置选项显示在Chrome内建下载的界面中。
进一步地,第二浏览器内核组件620还用于在界面中为用户提供接口,例如,暂停下载、删除、停止、重新下载等,接收用户操作,再将操作信息发送给独立下载进程,实现对下载的管理和查询。
上述与浏览器独立的下载组件由迅雷、快播、网际快车或比特彗星等常见的下载工具提供。
在该实施例中,采用独立于浏览器的下载软件进行下载,性能更佳,资源受限较少。并且能够隔离外部程序可能对浏览器主进程的破坏,避免对文件下载的中断和干扰。
图7示出了根据本发明另一个实施例的浏览器装置的结构框图,如图7所示,该浏览器装置同样包括第一浏览器内核组件710和第二浏览器内核组件720及下载组件730。
在该实施例中,第一浏览器内核组件710还用于:根据用户对所述入口的选择,重新发起对预下载文件的下载,建立网络连接下载所述预下载文件。
其中,下载界面由第二浏览器内核侧的下载组件730提供,下载界面中含有使用第一浏览器内核进行下载的入口。下载组件730检测用户是否选择使用第一浏览器内核进行下载的入口,如果是,通知第一浏览器内核组件710重新发起对预下载文件的下载,由第一浏览器内核组件710建立网络连接下载所述预下载文件。这样,浏览器装置对不兼容Webkit等第二浏览器内核的文件下载,可利用IE重新发起下载,更具兼容性。
在上述三个浏览器装置的实施例中,第二浏览器内核组件还可进一步用于对下载的文件进行安全扫描,并给出安全扫描的结果;以及,用于依据下载的文件的类型,在移动终端中进行安装下载的文件。
根据本发明上述实施例提供的浏览器装置,下载由相对性能较高的第二浏览器内核侧的下载组件完成,这提高了下载的效率,同时为浏览器下载行为提供统一的入口和统一的下载界面,便于用户查看历史记录,调整下载选项等操作。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的浏览器装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1、一种浏览器中的文件下载方法,其中所述浏览器包括第一浏览器内核和第二浏览器内核,所述文件下载方法包括:
在第一浏览器内核侧发起对一预下载文件的下载;
通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载,并将所述预下载文件的下载信息发送到第二浏览器内核侧的下载组件,由所述下载组件在第二浏览器内核侧下载所述预下载文件。
A2、根据A1所述的文件下载方法,在所述在第一浏览器内核侧发起对一预下载文件的下载之前还包括:
在所述第一浏览器内核侧分析服务器端反馈的http数据包中携带的信息,依据所述http数据包中携带的信息确定是否发起对预下载文件的下载。
A3、根据A2所述的文件下载方法,所述依据所述http数据包中携带的信息确定是否发起对预下载文件的下载具体为:依据所述http数据包中携带的content-disposition信息确定是否发起对预下载文件的下载。
A4、根据A1-A3任一项所述的文件下载方法,所述通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载进一步包括:拦截第一浏览器内核的下载行为,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载。
A5、根据A4所述的文件下载方法,所述拦截第一浏览器内核的下载行为,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载进一步包括:拦截对IID_IDownloadManager Service接口的QueryService调用,返回实现IDownloadManager接口的类实例指针。
A6、根据A4或A5所述的文件下载方法,所述方法还包括:依据IDownloadManager接口的Download函数中的参数pmk和pbc,提取预下载文件的下载地址作为所述预下载文件的下载信息。
A7、根据A1-A6任一项所述的文件下载方法,其中:
所述下载组件由所述第二浏览器内核中的独立进程提供;
或者,所述下载组件由与浏览器独立的下载软件提供,所述与浏览器独立的下载软件提供的下载组件通过一组接口函数与浏览器主进程通信,以供浏览器主进程对下载任务进行管理和状态查询。
A8、根据A7所述的文件下载方法,所述与浏览器独立的下载软件包括:迅雷、快播、网际快车或比特彗星。
A9、根据A1-A8任一项所述的文件下载方法,在第二浏览器内核的下载组件进行下载的界面中,提供有使用第一浏览器内核进行下载的入口;
所述文件下载方法还包括:根据用户对所述入口的选择,在所述第一浏览器内核侧重新发起对预下载文件的下载,由第一浏览器内核侧建立网络连接下载所述预下载文件。
A10、根据AA1-A9任一项所述的文件下载方法,在下载所述预下载文件之后还包括:启动安全组件对下载的文件进行安全扫描,并给出安全扫描的结果。
A11、根据A1-A10任一项所述的文件下载方法,在下载所述预下载文件之后还包括:依据下载的文件的类型,在移动终端中进行安装下载的文件。
A12、根据A1-A9任一项所述的文件下载方法,所述第一浏览器内核为Trident内核,所述第二浏览器内核为Webkit内核。
B13、一种浏览器装置,包括第一浏览器内核组件和第二浏览器内核组件其中:
所述第一浏览器内核组件用于发起对一预下载文件的下载,以及通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载,将所述预下载文件的下载信息发送到所述第二浏览器内核组件;
所述第二浏览器内核组件用于接收所述预下载文件的下载信息,由下载组件在第二浏览器内核侧下载所述预下载文件。
B14、根据B13所述的浏览器装置,所述第一浏览器内核组件还用于分析服务器端反馈的http数据包中携带的信息,依据所述http数据包中携带的信息确定是否发起对预下载文件的下载。
B15、根据B14所述的浏览器装置,所述第一浏览器内核组件具体用于依据所述http数据包中携带的content-disposition信息确定是否发起对预下载文件的下载。
B16、根据B13-B15任一项所述的浏览器装置,所述第一浏览器内核组件具体用于:拦截第一浏览器内核的下载行为,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载。
B17、根据B16所述的浏览器装置,所述第一浏览器内核组件具体用于:拦截对IID_IDownloadManager Service接口的QueryService调用,返回实现IDownloadManager接口的类实例指针。
B18、根据B16或B17所述的浏览器装置,所述第一浏览器内核组件还用于依据IDownloadManager接口的Download函数中的参数pmk和pbc,提取预下载文件的下载地址作为所述预下载文件的下载信息。
B19、根据B13-B18任一项所述的浏览器装置,其中:
所述下载组件由所述第二浏览器内核组件中的独立进程提供;
或者,所述下载组件与浏览器独立,所述下载组件通过一组接口函数与浏览器主进程通信,以供浏览器主进程对下载任务进行管理和状态查询。
B20、根据B19所述的浏览器装置,所述与浏览器独立的下载组件由迅雷、快播、网际快车或比特彗星提供。
B21、根据B13-B20任一项所述的浏览器装置,在第二浏览器内核组件的下载组件进行下载的界面中,提供有使用第一浏览器内核组件进行下载的入口;
所述第一浏览器内核组件还用于:根据用户对所述入口的选择,重新发起对预下载文件的下载,建立网络连接下载所述预下载文件。
B22、根据B13-B21任一项所述的浏览器装置,所述第二浏览器内核组件还用于对下载的文件进行安全扫描,并给出安全扫描的结果。
B23、根据B13-B22任一项所述的浏览器装置,所述第二浏览器内核组件还用于依据下载的文件的类型,在移动终端中进行安装下载的文件。
B24、根据B13-B23任一项所述的浏览器装置,所述第一浏览器内核组件为Trident内核组件,所述第二浏览器内核组件为Webkit内核组件。

Claims (24)

1.一种浏览器中的文件下载方法,其中所述浏览器包括第一浏览器内核和第二浏览器内核,所述文件下载方法包括:
在第一浏览器内核侧发起对一预下载文件的下载;
通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载,并通过进程间通信方式将所述预下载文件的下载信息发送到第二浏览器内核侧的下载组件,由所述下载组件在第二浏览器内核侧下载所述预下载文件。
2.根据权利要求1所述的文件下载方法,在所述在第一浏览器内核侧发起对一预下载文件的下载之前还包括:
在所述第一浏览器内核侧分析服务器端反馈的http数据包中携带的信息,依据所述http数据包中携带的信息确定是否发起对预下载文件的下载。
3.根据权利要求2所述的文件下载方法,所述依据所述http数据包中携带的信息确定是否发起对预下载文件的下载具体为:依据所述http数据包中携带的content-disposition信息确定是否发起对预下载文件的下载。
4.根据权利要求1-3任一项所述的文件下载方法,所述通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载进一步包括:拦截第一浏览器内核的下载行为,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载。
5.根据权利要求4所述的文件下载方法,所述拦截第一浏览器内核的下载行为,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载进一步包括:拦截对IID_IDownloadManager Service接口的QueryService调用,返回实现IDownloadManager接口的类实例指针。
6.根据权利要求4所述的文件下载方法,所述方法还包括:依据IDownloadManager接口的Download函数中的参数pmk和pbc,提取预下载文件的下载地址作为所述预下载文件的下载信息。
7.根据权利要求1-3任一项所述的文件下载方法,其中:
所述下载组件由所述第二浏览器内核中的独立进程提供;
或者,所述下载组件由与浏览器独立的下载软件提供,所述与浏览器独立的下载软件提供的下载组件通过一组接口函数与浏览器主进程通信,以供浏览器主进程对下载任务进行管理和状态查询。
8.根据权利要求7所述的文件下载方法,所述与浏览器独立的下载软件包括:迅雷、快播、网际快车或比特彗星。
9.根据权利要求1-3任一项所述的文件下载方法,在第二浏览器内核的下载组件进行下载的界面中,提供有使用第一浏览器内核进行下载的入口;
所述文件下载方法还包括:根据用户对所述入口的选择,在所述第一浏览器内核侧重新发起对预下载文件的下载,由第一浏览器内核侧建立网络连接下载所述预下载文件。
10.根据权利要求1-3任一项所述的文件下载方法,在下载所述预下载文件之后还包括:启动安全组件对下载的文件进行安全扫描,并给出安全扫描的结果。
11.根据权利要求1-3任一项所述的文件下载方法,在下载所述预下载文件之后还包括:依据下载的文件的类型,在移动终端中进行安装下载的文件。
12.根据权利要求1-3任一项所述的文件下载方法,所述第一浏览器内核为Trident内核,所述第二浏览器内核为Webkit内核。
13.一种浏览器装置,包括第一浏览器内核组件和第二浏览器内核组件其中:
所述第一浏览器内核组件用于发起对一预下载文件的下载,以及通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载,通过进程间通信方式将所述预下载文件的下载信息发送到所述第二浏览器内核组件;
所述第二浏览器内核组件用于接收所述预下载文件的下载信息,由下载组件在第二浏览器内核侧下载所述预下载文件。
14.根据权利要求13所述的浏览器装置,所述第一浏览器内核组件还用于分析服务器端反馈的http数据包中携带的信息,依据所述http数据包中携带的信息确定是否发起对预下载文件的下载。
15.根据权利要求14所述的浏览器装置,所述第一浏览器内核组件具体用于依据所述http数据包中携带的content-disposition信息确定是否发起对预下载文件的下载。
16.根据权利要求13-15任一项所述的浏览器装置,所述第一浏览器内核组件具体用于:拦截第一浏览器内核的下载行为,通过实现IDownloadManager接口阻断第一浏览器内核侧对所述预下载文件的下载。
17.根据权利要求16所述的浏览器装置,所述第一浏览器内核组件具体用于:拦截对IID_IDownloadManager Service接口的QueryService调用,返回实现IDownloadManager接口的类实例指针。
18.根据权利要求16所述的浏览器装置,所述第一浏览器内核组件还用于依据IDownloadManager接口的Download函数中的参数pmk和pbc,提取预下载文件的下载地址作为所述预下载文件的下载信息。
19.根据权利要求13-15任一项所述的浏览器装置,其中:
所述下载组件由所述第二浏览器内核组件中的独立进程提供;
或者,所述下载组件与浏览器独立,所述下载组件通过一组接口函数与浏览器主进程通信,以供浏览器主进程对下载任务进行管理和状态查询。
20.根据权利要求19所述的浏览器装置,所述与浏览器独立的下载组件由迅雷、快播、网际快车或比特彗星提供。
21.根据权利要求13-15任一项所述的浏览器装置,在第二浏览器内核组件的下载组件进行下载的界面中,提供有使用第一浏览器内核组件进行下载的入口;
所述第一浏览器内核组件还用于:根据用户对所述入口的选择,重新发起对预下载文件的下载,建立网络连接下载所述预下载文件。
22.根据权利要求13-15任一项所述的浏览器装置,所述第二浏览器内核组件还用于对下载的文件进行安全扫描,并给出安全扫描的结果。
23.根据权利要求13-15任一项所述的浏览器装置,所述第二浏览器内核组件还用于依据下载的文件的类型,在移动终端中进行安装下载的文件。
24.根据权利要求13-15任一项所述的浏览器装置,所述第一浏览器内核组件为Trident内核组件,所述第二浏览器内核组件为Webkit内核组件。
CN201410126041.5A 2014-03-31 2014-03-31 浏览器中的文件下载方法和浏览器装置 Active CN103853851B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410126041.5A CN103853851B (zh) 2014-03-31 2014-03-31 浏览器中的文件下载方法和浏览器装置
PCT/CN2015/070054 WO2015149570A1 (zh) 2014-03-31 2015-01-04 浏览器中的文件下载方法和浏览器装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410126041.5A CN103853851B (zh) 2014-03-31 2014-03-31 浏览器中的文件下载方法和浏览器装置

Publications (2)

Publication Number Publication Date
CN103853851A CN103853851A (zh) 2014-06-11
CN103853851B true CN103853851B (zh) 2016-10-26

Family

ID=50861506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410126041.5A Active CN103853851B (zh) 2014-03-31 2014-03-31 浏览器中的文件下载方法和浏览器装置

Country Status (2)

Country Link
CN (1) CN103853851B (zh)
WO (1) WO2015149570A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853851B (zh) * 2014-03-31 2016-10-26 北京奇虎科技有限公司 浏览器中的文件下载方法和浏览器装置
CN104537020B (zh) * 2014-12-18 2018-03-02 北京奇虎科技有限公司 浏览器下载文件的方法、浏览器客户端和装置
CN105892830A (zh) * 2016-03-31 2016-08-24 北京金山安全软件有限公司 文件接收提醒方法及装置
CN111917807B (zh) * 2019-05-08 2023-04-18 深圳市云趣网络科技股份有限公司 一种安卓系统wap网页调起下载客户端的方法和系统
CN111212418A (zh) * 2019-12-31 2020-05-29 北京指掌易科技有限公司 移动端应用安全下载装置和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294717B (zh) * 2012-02-29 2015-05-06 腾讯科技(深圳)有限公司 一种基于双内核浏览器的网页打开方法和装置
CN102932356B (zh) * 2012-11-07 2016-03-30 北京奇虎科技有限公司 多核浏览器中恶意网址拦截方法和装置
CN103391326B (zh) * 2013-08-01 2017-11-07 贝壳网际(北京)安全技术有限公司 基于浏览器的文件下载方法、系统及客户端
CN103414770B (zh) * 2013-08-05 2016-12-28 贝壳网际(北京)安全技术有限公司 文件下载方法及装置、文件下载建议方法及装置
CN103605688B (zh) * 2013-11-01 2017-05-10 北京奇虎科技有限公司 一种网页广告的拦截方法、装置和浏览器
CN103853851B (zh) * 2014-03-31 2016-10-26 北京奇虎科技有限公司 浏览器中的文件下载方法和浏览器装置
CN103942277B (zh) * 2014-03-31 2017-12-05 北京奇虎科技有限公司 一种浏览器中的文件下载方法、装置和浏览器

Also Published As

Publication number Publication date
CN103853851A (zh) 2014-06-11
WO2015149570A1 (zh) 2015-10-08

Similar Documents

Publication Publication Date Title
CN102930211B (zh) 一种多核浏览器中拦截恶意网址的方法和多核浏览器
CN103853851B (zh) 浏览器中的文件下载方法和浏览器装置
CN104111944B (zh) 页面处理方法和装置以及页面生成方法和装置
CN102932356B (zh) 多核浏览器中恶意网址拦截方法和装置
US20230072428A1 (en) Method, Apparatus, and System for Pushing Application Program, and Device
CN102946436B (zh) 一种下载系统
CN102984275B (zh) 进行网页下载的方法及浏览器
CN104536981A (zh) 实现浏览器安全的方法、浏览器客户端和装置
JP5751561B2 (ja) アプリケーションストアシステム及び当該アプリケーションストアシステムによる開発方法
CN103577227B (zh) 一种加载插件的方法、浏览器和服务器
CN103973704B (zh) 基于wifi设备的域名解析方法、装置及系统
CN103761479B (zh) 恶意程序的扫描方法和装置
CN113190464B (zh) mock测试方法、装置、电子设备及介质
CN105162676B (zh) 一种微信数据获取方法和系统
CN104410680A (zh) 分享文件/文件夹的方法、客户端、服务器以及系统
US8990710B1 (en) Building native computer applications using a browser platform
CN106487793A (zh) 应用安装方法及装置
CN104363251A (zh) 网站安全检测方法与装置
CN104463642A (zh) 一种进行广告过滤处理的方法、装置和浏览器客户端
CN107135249A (zh) 数据下载方法及装置
CN103577180A (zh) 数据处理方法及装置
CN103823833B (zh) 网页中多媒体数据的收藏方法和浏览器装置
CN104536974A (zh) 在浏览器中搜索信息的方法和浏览器客户端
CN106096394A (zh) 一种安卓应用的广告拦截方法和装置
CN107577712B (zh) 一种加载页面的方法、装置及计算机设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.