音视频文件下载提示方法

文档序号:7696045阅读:225来源:国知局
专利名称:音视频文件下载提示方法
技术领域
本发明涉及互联网技术领域,尤其涉及一种音视频文件下载提示方法。
背景技术
随着互联网技术的不断发展,基于互联网的多媒体资源也日益丰富。 现有音视频网站均提供有音视频信息在线播放功能,但是一部分音视频网 站并不提供关于音视频文件的明确的下载地址,而且针对这类音视频文件 的下载地址做了较为严格的下载限制和加密处理,使用户无法快速地直接 下载所需音视频文件,而只能选择在线观看。
现有技术中实现网站音视频文件下载的方法是通过通过网络驱动在
网卡上抓包获取网络传输数据包进行数据分析,监控和分析HTTP请求包, 需要先识别"tcp"数据包,然后识别"http"请求,最后识别目标网站, 获得音视频文件的下载地址。现有技术实现音视频文件下载的方法中,获 得音视频文件的下载地址时操作或实现均比较复杂,因此造成下载过程较 为繁瑣,降低用户的网络性能;而且还可能会因下载地址被加密等原因无 法准确获得下载地址,出现无法下载所需文件的情况,影响服务质量。

发明内容
本发明提供一种音视频文件下载提示方法,用以解决现有技术中因下载 地址获取困难而无法直接下载所需文件的缺陷,实现为用户提供下载地址进 行音视频文件下载。
本发明提供一种音视频文件下载提示方法,包括
在互联网浏览器进程中,拦截文件打开接口函数获得所要访问的文件的链接地址和所述文件的句柄信息,以及所述链接地址和句柄信息的对应关系
信息;
根据所述链接地址生成文件下载提示信息;
型,则再根据通过拦截文件读取接口函数而获得的文件内容信息判断所述文 件的文件类型,若所述文件的文件类型是音视频文件类型,则根据所述对应 关系信息查找与通过拦截所述文件读取接口函数而获得的句柄信息对应的链 接地址,并根据查找到的链接地址生成文件下载提示信息。
本发明提供的音视频文件下载提示方法,在互联网浏览器进程中,通过 拦截文件打开接口函数和文件读取接口函数,获得所要访问的音视频文件的 链接地址,并生成用于提示用户直接下载该文件的下载提示信息,并不影响 IE调用API函数的进行信息展现的正常实现。对于用户而言,在打开一个网 页后,若该网页上存在在线播放的音视频文件,可以根据互联网浏览器菜单 上的文件下栽提示信息对感兴趣的文件进行下载,避免了用户想要下载音视 频文件而无法方便的获得下载链接地址的缺陷,提高了服务质量;而且对下 载链接地址信息的获取和生成文件下载提示信息均在后台进行,并不影响用 户浏览网页资源信息的正常流程。


图1为本发明音^L频文件下载提示方法流程图2为本发明音视频文件下载提示方法中获取链接地址流程图
具体实施例方式
下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
图1为本发明音视频文件下栽提示方法流程图,如图1所示,该方法包括如下步骤
步骤100,在互联网浏览器进程中,拦截文件打开接口函数获得所要访 问的文件的链接地址和所述文件的句柄信息,以及所述链接地址和句柄信息 的对应关系信息;
互联网浏览器例如微软IE (Internet Explorer)浏览器在启动时,当组成 网页的资源信息中存在能够在线播放的音视频信息时,IE首先需要调用"http" 请求文件打开函数创建句柄信息。IE在向文件打开接口函数发送调用请求时 要将所要访问的文件的链接地址(URL地址)发送给文件打开接口函数作为 输入参数,其中所述的文件打开接口函数为一种应用编程接口 (Application Programming Interface ;简称API)函数,可以根据接收到的链接地址返回 调用结果即生成对应的句柄作为结果返回。本发明提供的方法就是在此基础 上,通过在在互联网浏览器进程中,拦截文件打开接口函数,获得IE所要访 问的文件的链接地址和所述文件的句柄信息,并建立所述链接地址和所述文 件的句柄信息的对应关系信息。本发明实施例可以采用API拦截(hook)技 术实现,在IE启动的时候通过"bho" (Browser Helper Object)接口将动态 库加载到IE进程空间中,通过"API hook"技术接管"winlnet"的几个函数 包括文件打开4妄口函凄t例如"httpOpenR叫uest"或"InternetOpenUrl",文件 读取接口函数"InternetReadFile"或"InternetReadFileEx" 。 IE浏览器在每 次进行文件下载的时候,会调用这几个函数,接管API的意义在于IE调用这 几个API函数时,会跳至我们预先设定的对应的处理函数,并由我们的对应 处理函数来调用对应的真实的API。本发明实施例提供的方法中"APIhook" 技术可以具体选用"detour"技术来实施对API函数的拦截和接管。本实施例 方法中可以在开启互联网浏览器后访问网络资源时触发进行拦截API函数的 操作,从而获得所需信息。
本发明方法中为了获取IE访问的文件的URL地址,通过拦截文件打开 接口函数,从中获取所需要的URL地址,实现步骤包括如图2所示步骤IOOI,在互联网浏览器进程中,拦截所述文件打开接口函数,获得 所要访问的文件的链接地址;
步骤1002,向所述文件打开接口函数转发所述链接地址,并获得所述文 件打开接口函数根据所述链接地址生成的句柄信息;
步骤1003,建立所述链接地址与所述句柄信息之间的对应关系。
具体地,IE调用例如"httpOpenRequest"的文件打开接口函数时,要向 "httpOpenRequest"函数发送请求消息,将所要访问的文件的地址发送给 "httpOpenRequest"函数作为输入参数,本实施例通过"API hook"技术拦 截请求消息,并从中获取所需要的URL地址信息,再将获取的URL地址信 息作为参数,调用系统真实的"httpOpenRequest"函数。"httpOpenRequest" 函数对包括URL地址信息的请求消息进行响应,生成句柄信息,并将句柄信 息返回;获取到句柄信息后,将句柄信息再转发给IE;通过对正调用文件打 开接口函数的拦截,获得IE所要访问的URL地址和句柄信息后,建立二者 的对应关系。
步骤101,根据所述链接地址判断所要访问的文件的文件类型是否是音 视频文件类型,若是则执行步骤102;若不是,则执行步骤103;
由于存在可以4艮据链接地址信息直接判断出文件的类型,因此在拦截文 件打开接口函数获得所要访问的文件的链接地址信息后,可以首先根据该链 接地址信息对所要访问的文件的类型进行判断,根据判断结果作不同的处理。
步骤102,根据所述链接地址生成文件下载提示信息;
若根据所述链接地址判断得知所要访问的文件为音视频类型文件,则根 据所述链接地址生成所述文件下载提示信息,例如下载"xxx.flv"就可以判 断出该文件为视频文件,则可以直接生成下载提示信息,该下载提示信息是 根据URL地址生成的,提示信息可以是在IE上出现一个对应的菜单选项等, 用户点击该菜单时<更可以直接下载文件到本地^_盘上了 。当能够直接4艮据链 接地址判断出文件的文件类型时,后续虽然也要进行拦截文件读取接口函数的操作,但可以不做特殊处理,而按照正常文件下载流程下载网页资源上的 音视频文件即可。这样,互联网浏览器在完成下载音视频文件资源信息,并 在互联网浏览器中播放文件类型是音视频文件类型的文件的同时,也相应地 给出了下载该文件的提示信息,供用户选择下载。
步骤103,根据通过拦截文件读取接口函数而获得的文件内容信息判断 所述文件的文件类型,若是音视频文件类型,则执行步骤104;若不是音视 频文件类型,则执行步骤105;
若不能根据所述链接地址判断出所述文件的文件类型是音视频文件类 型,则在拦截文件读取接口函数时可以获得所要访问的文件的文件内容信息, 并冲艮据该文件内容信息再对文件的类型作出判断,并作相应处理。
步骤104,根据所述对应关系信息查找与通过拦截所述文件读取接口函 数而获得的句柄信息对应的链接地址,并根据查找到的链接地址生成文件下 载提示信息;
互联网浏览器在完成调用文件打开接口函数,接收到文件打开接口函数 根据链接地址生成的句柄信息后,要根据得到的句柄信息调用文件读取接口 函数完成文件数据的下载。IE向文件打开接口函数例如"IntemetReadFile" 函数发送请求消息,其中携带有所要访问文件对应的句柄信息,请求通过该 API函数获取到文件内容。本实施例中通过在互联网浏览器进程中,拦截文 件打开接口函数例如"IntemetReadFile"函数,获得句柄信息和文件内容信 息,在之前根据文件的链接地址信息不能做出文件是音视频类型文件的判断 情况下,首先判断是否有所述通过拦截所述文件读取接口函数而获得的句柄 信息的记录,若有,则可以再根据文件内容信息对文件类型作出判断,具体 可以是根据读取的文件内容数据格式为已知的某种音视频文件数据格式进行 判断,得到文件是音视频类型文件的判断结果后,在之前建立的链接地址和 句柄信息之间的对应关系信息中,查找文件类型为音视频文件类型的文件的 句柄信息所对应的链接地址,并根据查找到的链接地址生成文件下载提示信息。在生成文件下载提示信息的同时还要将句柄信息发送给文件读取接口函
数例如"InternetReadFile"函数,"InternetReadFile"函数根据句柄信息完成 正常的文件数据读取操作,实现在IE上的在线播放。这样,互联网浏览器在 完成下载音视频文件资源信息,并在互联网浏览器中播放文件类型是音视频 文件类型的文件的同时,也相应地给出了下载该文件的提示信息,供用户选 择下载。
如果在之前建立的链接地址和句柄信息之间的对应关系信息中没有记录 该句柄信息对应的链接地址,或之前就没有关于该句柄信息的任何记录,则 直接调用真实的"http"数据读取函数,并将函数返回结果返回给IE,而不 做其他的处理。
步骤105,音视频文件下载提示处理流程结束。
若IE打开的网页资源中没有音视频文件,则按照正常的网络资源打开处 理流程执行网页信息展现操作,当然也不必生成文件下载提示信息。
本发明提供的音视频文件下载提示方法,在互联网浏览器进程中,通过 拦截文件打开接口函数和文件读取接口函数,获得所要访问的音视频文件的 链接地址,并生成用于提示用户直接下载该文件的下载提示信息,并不影响 正调用API函数的进行信息展现的正常实现。对于用户而言,在打开一个网 页后,若该网页上存在在线播放的音视频文件,可以根据互联网浏览器菜单 上的文件下载提示信息对感兴趣的文件进行下载,避免了用户想要下载音视 频文件而无法方便的获得下载链接地址的缺陷,提高了服务质量;而且对下 载链接地址信息的获取和生成下载提示信息均在后台进行,并不影响用户浏 览网页资源信息的正常流程。本发明方法中拦截的是当前IE浏览器的"http,, 访问请求,而且是针对发出请求的数据包,相对于现有的无目的的在网络上 抓包,本方法的信息抓取更具有定向性,效率更高。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种音视频文件下载提示方法,其特征在于,包括在互联网浏览器进程中,拦截文件打开接口函数获得所要访问的文件的链接地址和所述文件的句柄信息,以及所述链接地址和句柄信息的对应关系信息;若根据所述链接地址判断出所述文件的文件类型是音视频文件类型,则根据所述链接地址生成文件下载提示信息;若不能根据所述链接地址判断出所述文件的文件类型是音视频文件类型,则再根据通过拦截文件读取接口函数而获得的文件内容信息判断所述文件的文件类型,若所述文件的文件类型是音视频文件类型,则根据所述对应关系信息查找与通过拦截所述文件读取接口函数而获得的句柄信息对应的链接地址,并根据查找到的链接地址生成文件下载提示信息。
2、 根据权利要求1所述的音视频文件下载提示方法,其特征在于,所述 在互联网浏览器进程中,拦截文件打开接口函数获得所要访问的文件的链接 地址和所述文件的句柄信息,以及所述链接地址和句柄信息的对应关系信息 包括在互联网浏览器进程中,拦截所述文件打开接口函数,获得所要访问的 文件的链接地址;向所述文件打开接口函数转发所述链接地址,并获得所述文件打开接口 函数根据所述链接地址生成的句柄信息;建立所述链接地址与所述句柄信息之间的对应关系。
3、 根据权利要求2所述的音视频文件下载提示方法,其特征在于,还包 括向所述互联网浏览器返回所述文件打开接口函数根据所述链接地址生成的 句柄信息。
4、 根据权利要求1所述的音视频文件下载提示方法,其特征在于根据通 过拦截文件读取接口函数而获得的文件内容信息判断所述文件的文件类型之前包括通过判断得知有通过拦截所述文件读取接口函数而获得的所述句柄 信息的记录。
5、根据权利要求1所述的音视频文件下载提示方法,其特征在于还包括 在所述互联网浏览器中播放文件类型是音视频文件类型的文件。
全文摘要
本发明提供一种音视频文件下载提示方法。该方法包括在互联网浏览器进程中,拦截文件打开接口函数获得所要访问的文件的链接地址和文件的句柄信息,以及链接地址和句柄信息的对应关系信息;若根据链接地址判断出文件的文件类型是音视频文件类型,则根据链接地址生成文件下载提示信息;若不能根据链接地址判断出文件的文件类型是音视频文件类型,则再根据通过拦截文件读取接口函数而获得的文件内容信息判断文件的文件类型,若文件的文件类型是音视频文件类型,则根据对应关系信息查找与通过拦截文件读取接口函数而获得的句柄信息对应的链接地址,并根据查找到的链接地址生成文件下载提示信息。本发明能够提供音视频文件的下载地址,实现直接下载。
文档编号H04L12/28GK101645815SQ200810117879
公开日2010年2月10日 申请日期2008年8月6日 优先权日2008年8月6日
发明者刘明海, 王云鹏, 华 钟, 维 鲁 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1