一种文件名获取方法及装置与流程

文档序号:12598094阅读:195来源:国知局
一种文件名获取方法及装置与流程

本发明实施例涉及互联网技术领域,尤其涉及一种文件名获取方法及装置。



背景技术:

随着移动通信技术的发展以及互联网技术的日益融合,通过手机等移动终端浏览网页己经变得日益普及,用户可通过移动终端内置的浏览器或第三方的浏览器来浏览网页。

用户对网络的依赖程度越来越高,并经常通过网络下载文件。为操作方便,用户希望通过网络从服务器自动获取准确的文件名并保存在本地。同时,为了保证存储在本地的文件类型的正确性,进而可以调用相应的软件打开文件,需要对文件类型进行准确识别。

然而,在实现本发明实施例的过程中,发明人发现现有的浏览器容错能力差,应用现有的浏览器下载文件的文件名容易出现乱码,需要用户手动进行调整更正,操作繁琐。



技术实现要素:

本发明实施例提供一种文件名获取方法及装置,用以解决现有技术中的应用浏览器下载的文件名容易出现乱码的问题。

第一方面,本发明实施例提供一种文件名获取方法,包括:

通过当前网页从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;

若判断获知所述成功响应消息中携带有保密字段信息,则对所述保密字段信息进行解码,并根据解码结果获取所述待下载文件的文件名。

进一步地,所述方法还包括:

若判断获知所述成功响应消息中不携带有保密字段信息,则从所述当前网页对应的主资源中获取所述待下载文件的标签,并根据所述标签中的内容获取所述待下载文件的文件名。

进一步地,所述根据所述标签中的内容获取所述待下载文件的文件名包括:

根据所述标签中的内容,使用正则表达式获取所述待下载文件的文件名。

进一步地,所述方法还包括:

若根据所述标签中的内容获取所述待下载文件的文件名失败,则根据所述成功响应消息携带的文件类型,对所述待下载文件的文件名进行模糊匹配。

进一步地,在对所述保密字段信息进行解码之前,所述方法还包括:

获取所述当前网页对应的主资源中包括的字符集信息;

相应地,所述对所述保密字段信息进行解码包括:

根据所述字符集信息,对所述保密字段信息进行解码。

本发明实施例提供的文件名获取方法,通过当前网页从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;对成功响应消息中的保密字段进行解码,并根据解码结果获取所述待下载文件的文件名,提高了获得的下载文件的文件名的准确性。

第二方面,本发明实施例提供一种文件名获取装置,包括:

成功响应信息接收单元,用于在当前网页中从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;

保密字段解码单元,用于当判断获知所述成功响应消息中携带有保密字段信息时,则对所述保密字段信息进行解码,并根据解码结果获取所述待下载文件的文件名。

进一步地,该文件名获取装置还包括:

文件标签获取单元,用于当判断获知所述成功响应消息中不携带有保密字段信息,则从所述当前网页对应的主资源中获取所述待下载文件的标签,并根据所述标签中的内容获取所述待下载文件的文件名。

进一步地,所述文件标签获取单元进一步用于:

根据所述标签中的内容,使用正则表达式获取所述待下载文件的文件名。

进一步地,该文件名获取装置还包括:

文件名模糊匹配单元,用于当根据所述标签中的内容对所述文件名进行匹配失败,则根据所述成功响应消息携带的文件类型,对所述待下载文件的文件名进行模糊匹配。

进一步地,该文件名获取装置还包括:

字符集信息获取单元,用于获取所述当前网页对应的主资源中包括的字符集信息;

所述保密字段解码单元进一步用于:根据所述字符集信息,对所述保密字段信息进行解码,并根据解码结果获取所述待下载文件的文件名。

本发明实施例提供的文件名获取装置,成功响应信息接收单元在当前网页中从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;保密字段解码单元对成功响应消息中的保密字段进行解码,并根据解码结果获取所述待下载文件的文件名,提高了获得的下载文件的文件名的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明文件名获取方法实施例的流程图;

图2为本发明文件名获取装置实施例的结构示意图;

图3为本发明实施例的文件名获取装置的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明文件名获取方法实施例的流程图。如图1所示,本实施例的文件名获取方法包括:

S11:通过当前网页从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;

需要说明的是,本发明实施例的终端与服务器基于HTTP协议进行通信。HTTP协议基于请求响应模式,终端向服务器发送一个请求,服务器则以一个状态行为作为响应。在实际应用中,服务器发送的成功响应消息为200OK。

S12:若判断获知所述成功响应消息中携带有保密字段信息,则对所述保密字段信息进行解码,并根据解码结果获取所述待下载文件的文件名;

需要说明的是,若服务器发送的成功响应消息200OK中携带有保密字段信息content confidential,则终端对保密字段信息content confidential进行解码,并根据解码结果获取所述待下载文件的文件名。

举例来说,终端向服务器请求下载文件名为“微信.apk”的文件;服务器发送的成功响应信息200OK的编码方式为Base64,则保密字段信息content confidential中对应的文件名编码为“5b6u5L+hLmFwaw==”;终端对该文件名编码进行解码,解码结果中包括下载文件的文件名“微信.apk”,实现了根据对保密字段信息content confidential的解码结果来获取文件名。

本发明实施例提供的文件名获取方法,通过当前网页从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;对成功响应消息中的保密字段进行解码,并根据解码结果获取所述待下载文件的文件名,提高了获得的下载文件的文件名的准确性。

在本发明实施例的一种可选的实施方式中,与图1中的方法类似,所述方法还包括:

若判断获知所述成功响应消息中不携带有保密字段信息,则从所述当前网页对应的主资源中获取所述待下载文件的标签,并根据所述标签中的内容获取所述待下载文件的文件名。

可理解的是,当服务器发送的成功响应消息200OK中不包括保密字段信息content confidential时,无法通过成功响应消息200OK解码获得文件名,此时需要从当前网页对应的主资源中获取待下载文件的标签,根据标签内容获取所述待下载文件的文件名。在实际应用中,可根据标签内容,使用正则表达式获取所述待下载文件的文件名。

举例来说,终端向服务器请求下载文件名为“微信.apk”的文件,下载文件的网页对应的主资源中的待下载文件的标签信息中包括待下载文件的URL“https://m.baidu.com/s?from=1002307b&word=%E5%BE%AE%

E4%BF%A1”;终端对标签信息进行解码(该例中服务器的字符集类型为utf-8,标签信息中的“%E5%BE%AE%E4%BF%A1”对应“微信.apk”),使用正则表达式获取解码结果中的待下载文件的文件名“微信.apk”。

可选地,本实施例的文件名获取方法还包括:

若根据所述标签中的内容对所述文件名进行匹配失败,则根据所述成功响应消息携带的文件类型,对所述文件名进行模糊匹配。

需要说明的是,当根据从主资源中获取的待下载文件的标签进行匹配文件名失败,则无法获得准确的文件名。但为了存储在本地的文件类型的正确性,进而可以调用相应的软件打开文件,需要根据所述成功响应消息200OK携带的文件类型,对所述文件名进行模糊匹配。对文件名进行模糊匹配的结果是,保存在本地的下载文件以预先设置的名称(如download)作为文件名前缀,保存在本地的下载文件以成功响应消息200OK携带的文件类型作为文件名后缀。

可选地,在对所述保密字段信息进行解码之前,所述方法还包括:

获取所述当前网页对应的主资源中包括的字符集信息;

相应地,所述对所述保密字段信息进行解码包括:

根据所述字符集信息,对所述保密字段信息进行解码。

可理解的是,现有的各种文件资源对应的服务器采用不同的字符集进行编码,在实际应用中,网页中的meta标签中包括字符集信息。举例来说,<metahttp-equiv="Content-Type"content="text/html;charset=gb_2312-80">说明网页页所使用的字符集为gb_2312-80;此外,字符集还有Base64、BIG5、utf-8等多种类型。若终端无法获知服务器采用的字符集的类型,往往造成无法对成功响应消息200OK中的保密字段信息进行准确解码,导致文件名的乱码。本发明实施例通过获取当前网页对应的主资源的字符集信息,根据字符集信息对保密字段信息进行解码,能准确获得文件名,提高了获得的下载文件的文件名的准确性。

图2为本发明文件名获取装置实施例的结构示意图。如图2所示,本实施例的下载文件的文件名获取装置包括成功响应信息接收单元21和保密字段解码单元22,具体地:

成功响应信息接收单元21,用于在当前网页中从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;

保密字段解码单元22,用于当判断获知所述成功响应消息中携带有保密字段信息时,则对所述保密字段信息进行解码,并根据解码结果获取所述待下载文件的文件名。

本发明实施例提供的文件名获取装置,成功响应信息接收单元21在当前网页中从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;保密字段解码单元22对成功响应消息中的保密字段进行解码,并根据解码结果获取所述待下载文件的文件名,提高了获得的下载文件的文件名的准确性。

在一种可选的实施方式中,该文件名获取装置还包括:

文件标签获取单元,用于当判断获知所述成功响应消息中不携带有保密字段信息,则从所述当前网页对应的主资源中获取所述待下载文件的标签,并根据所述标签中的内容获取所述待下载文件的文件名。

可选地,文件标签获取单元进一步用于:

根据所述标签中的内容,使用正则表达式获取所述待下载文件的文件名。

该文件名获取装置还包括:

文件名模糊匹配单元,用于当根据所述标签中的内容对所述文件名进行匹配失败,则根据所述成功响应消息携带的文件类型,对所述待下载文件的文件名进行模糊匹配。

该文件名获取装置还包括:

字符集信息获取单元,用于获取所述当前网页对应的主资源中包括的字符集信息;

所述保密字段解码单元进一步用于:根据所述字符集信息,对所述保密字段信息进行解码,并根据解码结果获取所述待下载文件的文件名。

本发明实施例所述的文件名获取装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

图3为本发明实施例文件名获取装置的实体结构示意图。如图3所示,该文件名获取装置包括:

处理器(processor)31、存储器(memory)32和总线33,其中,处理器31和存储器32通过总线33完成相互间的通信。处理器31可以调用存储器32中的逻辑指令,以执行如下方法:

通过当前网页从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;

若判断获知所述成功响应消息中携带有保密字段信息,则对所述保密字段信息进行解码,并根据解码结果获取所述待下载文件的文件名。

在一种可选的实施方式中,所述方法还包括:

若判断获知所述成功响应消息中不携带有保密字段信息,则从所述当前网页对应的主资源中获取所述待下载文件的标签,并根据所述标签中的内容获取所述待下载文件的文件名。

具体地,所述根据所述标签中的内容获取所述待下载文件的文件名包括:

根据所述标签中的内容,使用正则表达式获取所述待下载文件的文件名。

所述方法还包括:

若根据所述标签中的内容获取所述待下载文件的文件名失败,则根据所述成功响应消息携带的文件类型,对所述文件名进行模糊匹配。

在对所述保密字段信息进行解码之前,所述方法还包括:

获取所述当前网页对应的主资源中包括的字符集信息;

相应地,所述对所述保密字段信息进行解码包括:

根据所述字符集信息,对所述保密字段信息进行解码。

此外,上述的存储器32中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例提供的文件名获取方法,通过当前网页从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;对成功响应消息中的保密字段进行解码,并根据解码结果获取所述待下载文件的文件名,提高了获得的下载文件的文件名的准确性。

本发明实施例提供的文件名获取装置,成功响应信息接收单元在当前网页中从服务器中下载待下载文件后,接收所述服务器发送的成功响应消息;保密字段解码单元对成功响应消息中的保密字段进行解码,并根据解码结果获取所述待下载文件的文件名,提高了获得的下载文件的文件名的准确性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简沽,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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