文件下载方法及系统.pdf

上传人:小** 文档编号:4331125 上传时间:2018-09-13 格式:PDF 页数:11 大小:1.02MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210364627.6

申请日:

2012.09.26

公开号:

CN102882965A

公开日:

2013.01.16

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20120926|||公开

IPC分类号:

H04L29/08; H04L29/06

主分类号:

H04L29/08

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

赵化强; 鲁小锁; 彭国洲

地址:

100088 北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京市德权律师事务所 11302

代理人:

刘杰

PDF下载: PDF下载
内容摘要

本发明公开了文件下载方法及系统,其中,所述方法包括:当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器;在代理服务器端对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果;代理服务器端构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端;客户端对所述网页访问响应进行解析,获取所述文件下载结果。通过本发明,能够在有网络拦截的情况下,大大提高文件下载的成功率,以使产品升级、普通文件下载等业务的成功率提高。

权利要求书

权利要求书一种文件下载方法,包括:当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器;在代理服务器端对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果;代理服务器端构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端;客户端对所述网页访问响应进行解析,获取所述文件下载结果。如权利要求1所述的方法,所述网页访问请求为超文本传送协议HTTP请求,所述将所述文件下载请求携带在所述网页访问请求中包括:将所述文件下载请求携带在所述网页访问请求的Cookie字段中;所述将所述文件下载结果携带在所述网页访问响应中包括:将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述文件下载结果的包体携带在所述网页访问响应的消息体中。如权利要求1所述的方法,所述构造一网页访问请求包括:采用预置的域名构造网页访问请求。如权利要求3所述的方法,还包括:如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造网页访问请求。如权利要求1所述的方法,所述构造一网页访问请求包括:采用随机生成的域名构造网页访问请求。一种文件下载系统,包括:网页访问请求构造单元,位于客户端,用于当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器;下载单元,位于代理服务器端,用于对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果;网页访问响应构造单元,位于代理服务器端,用于构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端;下载结果获取单元,位于客户端,用于对所述网页访问响应进行解析,获取所述文件下载结果。如权利要求6所述的系统,所述网页访问请求为超文本传送协议HTTP请求,所述网页访问请求构造单元具体用于:将所述文件下载请求携带在所述网页访问请求的Cookie字段中;所述网页访问响应构造单元具体用于:将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述文件下载结果的包体携带在所述网页访问响应的消息体中。如权利要求6所述的系统,所述网页访问请求构造单元包括:第一构造子单元,用于采用预置的域名构造网页访问请求。如权利要求8所述的系统,还包括:重构单元,用于如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造网页访问请求。如权利要求6所述的系统,所述网页访问请求构造单元包括:第二构造子单元,用于采用随机生成的域名构造网页访问请求。

说明书

说明书文件下载方法及系统
技术领域
本发明涉及网络下载技术领域,具体涉及文件下载方法及系统。
背景技术
防火墙是架在两个互相通信主机之间的一个屏障,对非法数据包进行过滤。多数个人防火墙基本具有:防止非法入侵(防止内连)与防止本地非法外连的功能,而操作系统自带的防火墙一般没有后者的功能。基于这两点,可以简单理解防火墙的两个作用:第一,通过阻止非法数据包,防止黑客通过某些手段入侵;第二,防止木马发生外连盗取本地机密信息。个人防火墙没有杀木马的功能,它所做的是在中了木马之后,通过规则禁止其外连以免丢失数据。基于上述特点,文件下载请求由于下载的对象是一个文件,因此,通常会成为防火墙的重点防护对象。
另一方面,一些客户端的应用程序可能需要下载升级包,或者有些具有系统修复功能的应用程序还需要下载系统的补丁包,等等,此时,都需要向服务器发送文件下载请求。
然而,各种文件下载请求经常遇到因防火墙等设备对特定协议、URL(Uniform/Universal Resource Locator,统一资源定位符)地址、下载域名等的拦截导致下载失败的问题,这种问题严重影响各产品业务的服务质量,一般会导致产品的升级失败、补丁安装失败等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的文件下载方法和相应的文件下载系统。
依据本发明的一个方面,提供了一种文件下载方法,包括:
当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器;
在代理服务器端对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果;
代理服务器端构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端;
客户端对所述网页访问响应进行解析,获取所述文件下载结果。
可选地,所述网页访问请求为超文本传送协议HTTP请求,所述将所述文件下载请求携带在所述网页访问请求中包括:
将所述文件下载请求携带在所述网页访问请求的Cookie字段中;
所述将所述文件下载结果携带在所述网页访问响应中包括:
将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述文件下载结果的包体携带在所述网页访问响应的消息体中。
可选地,所述构造一网页访问请求包括:
采用预置的域名构造网页访问请求。
可选地,还包括:
如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造网页访问请求。
可选地,所述构造一网页访问请求包括:
采用随机生成的域名构造网页访问请求。
依据本发明的另一个方面,提供了一种文件下载系统,包括:
网页访问请求构造单元,位于客户端,用于当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器;
下载单元,位于代理服务器端,用于对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果;
网页访问响应构造单元,位于代理服务器端,用于构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端;
下载结果获取单元,位于客户端,用于对所述网页访问响应进行解析,获取所述文件下载结果。
可选地,所述网页访问请求为超文本传送协议HTTP请求,所述网页访问请求构造单元具体用于:
将所述文件下载请求携带在所述网页访问请求的Cookie字段中;
所述网页访问响应构造单元具体用于:
将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述文件下载结果的包体携带在所述网页访问响应的消息体中。
可选地,所述网页访问请求构造单元包括:
第一构造子单元,用于采用预置的域名构造网页访问请求。
可选地,还包括:
重构单元,用于如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造网页访问请求。
可选地,所述网页访问请求构造单元包括:
第二构造子单元,用于采用随机生成的域名构造网页访问请求。。
根据本发明的文件下载系统,为了解决防火墙等设备对文件下载请求的拦截,可以构造一网页访问请求,把真正的文件下载请求的HTTP包头放置于一个网页访问请求中(例如HTTP网页访问请求的Cookie字段中),发送给代理服务器,进而借助于代理服务器获得下载数据;之后代理服务器再构造一网页访问响应,将文件下载结果携带在该网页访问响应中(例如将包头携带在HTTP网页访问响应的Cookie字段中,将包体携带在HTTP网页访问响应的消息体中),并返回给客户端,使得客户端能够获取到文件下载结果真正的HTTP包头及包体,获得文件下载结果,完成下载任务。进而,使得在有网络拦截的情况下,大大提高文件下载的成功率,以使产品升级、普通文件下载等业务的成功率提高。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的方法的流程图;以及
图2示出了根据本发明一个实施例的系统的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参见图1,本发明实施例提供的文件下载方法可以包括以下步骤:
S101:当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器;
防火墙一般不会对网页访问请求及网页访问响应进行拦截,也即,如果防火墙发现这种消息时,一般不会执行拦截,因此,在本发明实施例中,在发现有文件下载请求被防火墙拦截之后,就可以构造一个网页访问请求,然后将文件下载请求携带在这个网页访问请求中,发送给代理服务器。代理服务器在收到网页访问请求之后,可以从中取出真正的文件下载请求,然后将文件下载请求发送到对应的服务器。需要说明的是,代理服务器上一般不会安装防火墙,因此,文件下载请求不会受到拦截,能够顺利地发送到文件所在的服务器,也能顺利接收到文件所在的服务器返回的响应。
在构造网页访问请求时,可以构造成HTTP(Hypertext Transport Protocol,超文本传送协议)请求。在构造HTTP请求的过程中,需要指定HTTP的各个字段中分别是什么内容,包括指定要访问的网站的域名等等。当然,有些防火墙针对一些特定域名的网页访问请求可能也会拦截,因此,构造出的网页访问请求仍然可能会被拦截,此时,可以改变构造出的HTTP字段中的host字段的内容进行尝试,直到不被防火墙拦截为止。其中,构造HTTP请求时,各个字段的信息具体如何填充,可以根据一些算法进行计算得到,比如,host字段可以是某个指定的实际存在的域名,甚至,由于构造出的HTTP请求仅仅用于携带实际的文件下载请求,并不是真正需要访问某个网页,因此,还可以是随机生成一串字符之后加上.com、.cn等后缀。其中,具体的文件下载请求可以携带在HTTP请求的Cookie字段中。例如,假设因dlleak6.360safe.com被防火墙劫持,导致以下漏洞补丁下载失败:http://dlleak6.360safe.com/leak/winxp/WindowsXP‑KB2709162‑x86‑CHS.exe,则各个字段可以如下进行构造:
GET/22811250.html HTTP/1.1
Accept:*/*
User‑Agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1)
Host:thyfwr.com
Cookie:
MQHPUQWE=aHR0cDovL2RsbGVhazYuMzYwc2FmZS5jb20vbGVhay93aW54cC9XaW
5kb3dzWFAtS0IyNzA5MTYyLXg4Ni1DSFMuZXhl;NRHPRASD=UmFuZ2U6IGJ5dGV
zPTAt;
Connection:Close
Cache‑Control:no‑cache
其中,Cookie字段填写的就是实际被防火墙拦截的文件下载请求,在实际应用中,为了保证数据的保密性,可以将原始文件下载请求加密之后再写入到HTTP网页请求的Cookie字段中,如上述例子中,Cookie字段写入的就是对某文件下载请求加密后的结果。具体的在进行加密时,可以采用与代理服务器端协商之后确定的任意的加密算法。
S102:在代理服务器端对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果;
如前文所述,代理服务器在接收到前述构造出的网页访问请求之后,并不会向某网页服务器转发网页访问请求,而是从网页访问请求中解析出其中携带的文件下载请求,例如,如果是在HTTP网页访问请求的Cookie字段携带文件下载请求,则对网页访问请求进行解析时,就是需要从HTTP网页访问请求中提取出Cookie字段的信息,如果进行了加密,则按照与加密算法对应的解密算法进行解密,即可得到文件下载请求。之后就可以将文件下载请求发送到文件所在的服务器对文件进行下载。文件所在的服务器在接收到文件下载请求之后,会将文件返回给代理服务器。
S103:代理服务器端构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端;
代理服务器在接收到下载结果之后,如果直接将文件下载结果返回给客户端,则仍然可能会受到客户端的防火墙的拦截,因此,在本发明实施例中,还可以构造网页访问响应,并将文件下载结果携带在该响应中,返回给客户端。其中,网页访问响应同样可以是HTTP响应,文件下载结果的包头(也即下载到的文件的一些关键信息)可以携带在HTTP相应的Cookie字段中,而文件下载结果的包体卸载在网页访问响应的消息体中。例如:
HTTP/1.1 200 OK
Server:nginx/1.0.8
Date:Mon,09 Jul 2012 00:44:04 GMT
Content‑Type:text/html
Content‑Length:1456896
Last‑Modified:Tue,12 Jun 2012 17:13:14 GMT
Expires:Wed,08 Aug 2012 00:44:04 GMT
Cache‑Control:max‑age=2592000
X‑Cache:MISS from s1.p2p.ccc.qihoo.net
Via:1.1 s1.p2p.ccc.qihoo.net:3128(squid/2.7.STABLE9)
Connection:close
Cookie:
OSQPXKZXC=8f3f5f2edbe1ca4d3a651847a4621df1;PTDPCRIOP=Q29udGVudC
1SYW5nZTogYnl0ZXMgMC0xNDU2ODk1LzE0NTY40TY=;
S104:客户端对所述网页访问响应进行解析,获取所述文件下载结果。
客户端通过对网页访问响应的解析,就可以获取到文件下载结果的包头,同时可以从消息体中获取到文件下载结果的包体,也即获得文件下载结果的实际内容,完成下载任务。
总之,本发明实施例为了解决防火墙等设备对文件下载请求的拦截,可以构造一网页访问请求,把真正的文件下载请求的HTTP包头放置于一个网页访问请求中,例如HTTP网页访问请求的Cookie字段中,发送给代理服务器,进而借助于代理服务器获得下载数据;之后代理服务器再构造一网页访问响应,将文件下载结果携带在该网页访问响应中,例如将包头携带在HTTP网页访问响应的Cookie字段中,将包体携带在HTTP网页访问响应的消息体中,并返回给客户端,使得客户端能够获取到文件下载结果真正的HTTP包头及包体,获得文件下载结果,完成下载任务。进而,使得在有网络拦截的情况下,大大提高文件下载的成功率,以使产品升级、普通文件下载等业务的成功率提高。
与本发明实施例提供的文件下载方法相对应,本发明实施例还提供了一种文件下载系统,参见图2,该系统可以包括:
网页访问请求构造单元201,位于客户端,用于当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器;
下载单元202,位于代理服务器端,用于对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果;
网页访问响应构造单元203,位于代理服务器端,用于构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端;
下载结果获取单元204,位于客户端,用于对所述网页访问响应进行解析,获取所述文件下载结果。
其中,所述网页访问请求为超文本传送协议HTTP请求,所述网页访问请求构造单元201具体可以用于:
将所述文件下载请求携带在所述网页访问请求的Cookie字段中;
所述网页访问响应构造单元203具体可以用于:
将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述文件下载结果的包体携带在所述网页访问响应的消息体中。
具体实现时,所述网页访问请求构造单元201可以包括:
第一构造子单元,用于采用预置的域名构造网页访问请求。
其中,该系统还可以包括:
重构单元,用于如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造网页访问请求。
或者,所述网页访问请求构造单元201也可以包括:
第二构造子单元,用于采用随机生成的域名构造网页访问请求。
在本发明实施例提供的上述系统中,为了解决防火墙等设备对文件下载请求的拦截,可以构造一网页访问请求,把真正的文件下载请求的HTTP包头放置于一个网页访问请求中,例如HTTP网页访问请求的Cookie字段中,发送给代理服务器,进而借助于代理服务器获得下载数据;之后代理服务器再构造一网页访问响应,将文件下载结果携带在该网页访问响应中,例如将包头携带在HTTP网页访问响应的Cookie字段中,将包体携带在HTTP网页访问响应的消息体中,并返回给客户端,使得客户端能够获取到文件下载结果真正的HTTP包头及包体,获得文件下载结果,完成下载任务。进而,使得在有网络拦截的情况下,大大提高文件下载的成功率,以使产品升级、普通文件下载等业务的成功率提高。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文件下载设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本申请可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

文件下载方法及系统.pdf_第1页
第1页 / 共11页
文件下载方法及系统.pdf_第2页
第2页 / 共11页
文件下载方法及系统.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《文件下载方法及系统.pdf》由会员分享,可在线阅读,更多相关《文件下载方法及系统.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102882965 A (43)申请公布日 2013.01.16 C N 1 0 2 8 8 2 9 6 5 A *CN102882965A* (21)申请号 201210364627.6 (22)申请日 2012.09.26 H04L 29/08(2006.01) H04L 29/06(2006.01) (71)申请人北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28号D座112室(德胜园区) 申请人奇智软件(北京)有限公司 (72)发明人赵化强 鲁小锁 彭国洲 (74)专利代理机构北京市德权律师事务所 11302 代理人刘杰 (54) 发明名。

2、称 文件下载方法及系统 (57) 摘要 本发明公开了文件下载方法及系统,其中,所 述方法包括:当文件下载请求被防火墙拦截时, 构造一网页访问请求,将所述文件下载请求携带 在所述网页访问请求中,并将所述网页访问请求 发送到代理服务器;在代理服务器端对所述网页 访问请求进行解析,获取所述文件下载请求,并从 所述文件下载请求对应的服务器获取文件下载结 果;代理服务器端构造网页访问响应,将所述文 件下载结果携带在所述网页访问响应中,并将所 述网页访问响应消息返回给客户端;客户端对所 述网页访问响应进行解析,获取所述文件下载结 果。通过本发明,能够在有网络拦截的情况下,大 大提高文件下载的成功率,以使产。

3、品升级、普通文 件下载等业务的成功率提高。 (51)Int.Cl. 权利要求书2页 说明书7页 附图1页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 7 页 附图 1 页 1/2页 2 1.一种文件下载方法,包括: 当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携带在 所述网页访问请求中,并将所述网页访问请求发送到代理服务器; 在代理服务器端对所述网页访问请求进行解析,获取所述文件下载请求,并从所述文 件下载请求对应的服务器获取文件下载结果; 代理服务器端构造网页访问响应,将所述文件下载结果携带在所述网页访问响应中, 并将所述网。

4、页访问响应消息返回给客户端; 客户端对所述网页访问响应进行解析,获取所述文件下载结果。 2.如权利要求1所述的方法,所述网页访问请求为超文本传送协议HTTP请求,所述将 所述文件下载请求携带在所述网页访问请求中包括: 将所述文件下载请求携带在所述网页访问请求的Cookie字段中; 所述将所述文件下载结果携带在所述网页访问响应中包括: 将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述文件 下载结果的包体携带在所述网页访问响应的消息体中。 3.如权利要求1所述的方法,所述构造一网页访问请求包括: 采用预置的域名构造网页访问请求。 4.如权利要求3所述的方法,还包括: 如果。

5、所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造网页访问请求。 5.如权利要求1所述的方法,所述构造一网页访问请求包括: 采用随机生成的域名构造网页访问请求。 6.一种文件下载系统,包括: 网页访问请求构造单元,位于客户端,用于当文件下载请求被防火墙拦截时,构造一网 页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请求发 送到代理服务器; 下载单元,位于代理服务器端,用于对所述网页访问请求进行解析,获取所述文件下载 请求,并从所述文件下载请求对应的服务器获取文件下载结果; 网页访问响应构造单元,位于代理服务器端,用于构造网页访问响应,将所述文件下载 结果携带在所。

6、述网页访问响应中,并将所述网页访问响应消息返回给客户端; 下载结果获取单元,位于客户端,用于对所述网页访问响应进行解析,获取所述文件下 载结果。 7.如权利要求6所述的系统,所述网页访问请求为超文本传送协议HTTP请求,所述网 页访问请求构造单元具体用于: 将所述文件下载请求携带在所述网页访问请求的Cookie字段中; 所述网页访问响应构造单元具体用于: 将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述文件 下载结果的包体携带在所述网页访问响应的消息体中。 8.如权利要求6所述的系统,所述网页访问请求构造单元包括: 第一构造子单元,用于采用预置的域名构造网页访问请求。。

7、 9.如权利要求8所述的系统,还包括: 权 利 要 求 书CN 102882965 A 2/2页 3 重构单元,用于如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造 网页访问请求。 10.如权利要求6所述的系统,所述网页访问请求构造单元包括: 第二构造子单元,用于采用随机生成的域名构造网页访问请求。 权 利 要 求 书CN 102882965 A 1/7页 4 文件下载方法及系统 技术领域 0001 本发明涉及网络下载技术领域,具体涉及文件下载方法及系统。 背景技术 0002 防火墙是架在两个互相通信主机之间的一个屏障,对非法数据包进行过滤。多数 个人防火墙基本具有:防止非法入侵(。

8、防止内连)与防止本地非法外连的功能,而操作系统 自带的防火墙一般没有后者的功能。基于这两点,可以简单理解防火墙的两个作用:第一, 通过阻止非法数据包,防止黑客通过某些手段入侵;第二,防止木马发生外连盗取本地机密 信息。个人防火墙没有杀木马的功能,它所做的是在中了木马之后,通过规则禁止其外连以 免丢失数据。基于上述特点,文件下载请求由于下载的对象是一个文件,因此,通常会成为 防火墙的重点防护对象。 0003 另一方面,一些客户端的应用程序可能需要下载升级包,或者有些具有系统修复 功能的应用程序还需要下载系统的补丁包,等等,此时,都需要向服务器发送文件下载请 求。 0004 然而,各种文件下载请求。

9、经常遇到因防火墙等设备对特定协议、URL(Uniform/ Universal Resource Locator,统一资源定位符)地址、下载域名等的拦截导致下载失败的 问题,这种问题严重影响各产品业务的服务质量,一般会导致产品的升级失败、补丁安装失 败等问题。 发明内容 0005 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的文件下载方法和相应的文件下载系统。 0006 依据本发明的一个方面,提供了一种文件下载方法,包括: 0007 当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请求携 带在所述网页访问请求中,并将所述网页访问请求发送到代理服。

10、务器; 0008 在代理服务器端对所述网页访问请求进行解析,获取所述文件下载请求,并从所 述文件下载请求对应的服务器获取文件下载结果; 0009 代理服务器端构造网页访问响应,将所述文件下载结果携带在所述网页访问响应 中,并将所述网页访问响应消息返回给客户端; 0010 客户端对所述网页访问响应进行解析,获取所述文件下载结果。 0011 可选地,所述网页访问请求为超文本传送协议HTTP请求,所述将所述文件下载请 求携带在所述网页访问请求中包括: 0012 将所述文件下载请求携带在所述网页访问请求的Cookie字段中; 0013 所述将所述文件下载结果携带在所述网页访问响应中包括: 0014 将。

11、所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述 文件下载结果的包体携带在所述网页访问响应的消息体中。 说 明 书CN 102882965 A 2/7页 5 0015 可选地,所述构造一网页访问请求包括: 0016 采用预置的域名构造网页访问请求。 0017 可选地,还包括: 0018 如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新构造网页访问请 求。 0019 可选地,所述构造一网页访问请求包括: 0020 采用随机生成的域名构造网页访问请求。 0021 依据本发明的另一个方面,提供了一种文件下载系统,包括: 0022 网页访问请求构造单元,位于客户端,用于。

12、当文件下载请求被防火墙拦截时,构造 一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访问请 求发送到代理服务器; 0023 下载单元,位于代理服务器端,用于对所述网页访问请求进行解析,获取所述文件 下载请求,并从所述文件下载请求对应的服务器获取文件下载结果; 0024 网页访问响应构造单元,位于代理服务器端,用于构造网页访问响应,将所述文件 下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端; 0025 下载结果获取单元,位于客户端,用于对所述网页访问响应进行解析,获取所述文 件下载结果。 0026 可选地,所述网页访问请求为超文本传送协议HTTP请。

13、求,所述网页访问请求构造 单元具体用于: 0027 将所述文件下载请求携带在所述网页访问请求的Cookie字段中; 0028 所述网页访问响应构造单元具体用于: 0029 将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述 文件下载结果的包体携带在所述网页访问响应的消息体中。 0030 可选地,所述网页访问请求构造单元包括: 0031 第一构造子单元,用于采用预置的域名构造网页访问请求。 0032 可选地,还包括: 0033 重构单元,用于如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新 构造网页访问请求。 0034 可选地,所述网页访问请求构造单元包括: 00。

14、35 第二构造子单元,用于采用随机生成的域名构造网页访问请求。 0036 根据本发明的文件下载系统,为了解决防火墙等设备对文件下载请求的拦截,可 以构造一网页访问请求,把真正的文件下载请求的HTTP包头放置于一个网页访问请求中 (例如HTTP网页访问请求的Cookie字段中),发送给代理服务器,进而借助于代理服务器 获得下载数据;之后代理服务器再构造一网页访问响应,将文件下载结果携带在该网页访 问响应中(例如将包头携带在HTTP网页访问响应的Cookie字段中,将包体携带在HTTP 网页访问响应的消息体中),并返回给客户端,使得客户端能够获取到文件下载结果真正的 HTTP包头及包体,获得文件下。

15、载结果,完成下载任务。进而,使得在有网络拦截的情况下,大 大提高文件下载的成功率,以使产品升级、普通文件下载等业务的成功率提高。 0037 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 说 明 书CN 102882965 A 3/7页 6 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的具体实施方式。 附图说明 0038 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考。

16、符号表示相同的部件。在附图中: 0039 图1示出了根据本发明一个实施例的方法的流程图;以及 0040 图2示出了根据本发明一个实施例的系统的示意图。 具体实施方式 0041 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。 0042 参见图1,本发明实施例提供的文件下载方法可以包括以下步骤: 0043 S101:当文件下载请求被防火墙拦截时,构造一网页访问请求,将所述文件下载请 。

17、求携带在所述网页访问请求中,并将所述网页访问请求发送到代理服务器; 0044 防火墙一般不会对网页访问请求及网页访问响应进行拦截,也即,如果防火墙发 现这种消息时,一般不会执行拦截,因此,在本发明实施例中,在发现有文件下载请求被防 火墙拦截之后,就可以构造一个网页访问请求,然后将文件下载请求携带在这个网页访问 请求中,发送给代理服务器。代理服务器在收到网页访问请求之后,可以从中取出真正的文 件下载请求,然后将文件下载请求发送到对应的服务器。需要说明的是,代理服务器上一 般不会安装防火墙,因此,文件下载请求不会受到拦截,能够顺利地发送到文件所在的服务 器,也能顺利接收到文件所在的服务器返回的响应。

18、。 0045 在构造网页访问请求时,可以构造成HTTP(Hypertext Transport Protocol,超文 本传送协议)请求。在构造HTTP请求的过程中,需要指定HTTP的各个字段中分别是什么 内容,包括指定要访问的网站的域名等等。当然,有些防火墙针对一些特定域名的网页访 问请求可能也会拦截,因此,构造出的网页访问请求仍然可能会被拦截,此时,可以改变构 造出的HTTP字段中的host字段的内容进行尝试,直到不被防火墙拦截为止。其中,构造 HTTP请求时,各个字段的信息具体如何填充,可以根据一些算法进行计算得到,比如,host 字段可以是某个指定的实际存在的域名,甚至,由于构造出的H。

19、TTP请求仅仅用于携带实际 的文件下载请求,并不是真正需要访问某个网页,因此,还可以是随机生成一串字符之后加 上.com、.cn等后缀。其中,具体的文件下载请求可以携带在HTTP请求的Cookie字段中。 例如,假设因被防火墙劫持,导致以下漏洞补丁下载失败:http:/ 如下进行构造: 0046 GET/22811250.html HTTP/1.1 0047 Accept:*/* 说 明 书CN 102882965 A 4/7页 7 0048 User-Agent:Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1) 0049 Host: 0。

20、050 Cookie: 0051 MQHPUQWEaHR0cDovL2RsbGVhazYuMzYwc2FmZS5jb20vbGVhay93aW54cC9XaW 0052 5kb3dzWFAtS0IyNzA5MTYyLXg4Ni1DSFMuZXhl;NRHPRASDUmFuZ2U6IGJ5dGV 0053 zPTAt; 0054 Connection:Close 0055 Cache-Control:no-cache 0056 其中,Cookie字段填写的就是实际被防火墙拦截的文件下载请求,在实际应用 中,为了保证数据的保密性,可以将原始文件下载请求加密之后再写入到HTTP网页请求的 Cooki。

21、e字段中,如上述例子中,Cookie字段写入的就是对某文件下载请求加密后的结果。 具体的在进行加密时,可以采用与代理服务器端协商之后确定的任意的加密算法。 0057 S102:在代理服务器端对所述网页访问请求进行解析,获取所述文件下载请求,并 从所述文件下载请求对应的服务器获取文件下载结果; 0058 如前文所述,代理服务器在接收到前述构造出的网页访问请求之后,并不会向某 网页服务器转发网页访问请求,而是从网页访问请求中解析出其中携带的文件下载请求, 例如,如果是在HTTP网页访问请求的Cookie字段携带文件下载请求,则对网页访问请求进 行解析时,就是需要从HTTP网页访问请求中提取出Coo。

22、kie字段的信息,如果进行了加密, 则按照与加密算法对应的解密算法进行解密,即可得到文件下载请求。之后就可以将文件 下载请求发送到文件所在的服务器对文件进行下载。文件所在的服务器在接收到文件下载 请求之后,会将文件返回给代理服务器。 0059 S103:代理服务器端构造网页访问响应,将所述文件下载结果携带在所述网页访 问响应中,并将所述网页访问响应消息返回给客户端; 0060 代理服务器在接收到下载结果之后,如果直接将文件下载结果返回给客户端,则 仍然可能会受到客户端的防火墙的拦截,因此,在本发明实施例中,还可以构造网页访问 响应,并将文件下载结果携带在该响应中,返回给客户端。其中,网页访问响。

23、应同样可以是 HTTP响应,文件下载结果的包头(也即下载到的文件的一些关键信息)可以携带在HTTP相 应的Cookie字段中,而文件下载结果的包体卸载在网页访问响应的消息体中。例如: 0061 HTTP/1.1 200 OK 0062 Server:nginx/1.0.8 0063 Date:Mon,09 Jul 2012 00:44:04 GMT 0064 Content-Type:text/html 0065 Content-Length:1456896 0066 Last-Modified:Tue,12 Jun 2012 17:13:14 GMT 0067 Expires:Wed,08 。

24、Aug 2012 00:44:04 GMT 0068 Cache-Control:max-age2592000 0069 X-Cache:MISS from 0070 Via:1.1 :3128(squid/2.7.STABLE9) 0071 Connection:close 说 明 书CN 102882965 A 5/7页 8 0072 Cookie: 0073 OSQPXKZXC8f3f5f2edbe1ca4d3a651847a4621df1;PTDPCRIOPQ29udGVudC 0074 1SYW5nZTogYnl0ZXMgMC0xNDU2ODk1LzE0NTY40TY; 0075 。

25、S104:客户端对所述网页访问响应进行解析,获取所述文件下载结果。 0076 客户端通过对网页访问响应的解析,就可以获取到文件下载结果的包头,同时可 以从消息体中获取到文件下载结果的包体,也即获得文件下载结果的实际内容,完成下载 任务。 0077 总之,本发明实施例为了解决防火墙等设备对文件下载请求的拦截,可以构造一 网页访问请求,把真正的文件下载请求的HTTP包头放置于一个网页访问请求中,例如HTTP 网页访问请求的Cookie字段中,发送给代理服务器,进而借助于代理服务器获得下载数 据;之后代理服务器再构造一网页访问响应,将文件下载结果携带在该网页访问响应中,例 如将包头携带在HTTP网页。

26、访问响应的Cookie字段中,将包体携带在HTTP网页访问响应 的消息体中,并返回给客户端,使得客户端能够获取到文件下载结果真正的HTTP包头及包 体,获得文件下载结果,完成下载任务。进而,使得在有网络拦截的情况下,大大提高文件下 载的成功率,以使产品升级、普通文件下载等业务的成功率提高。 0078 与本发明实施例提供的文件下载方法相对应,本发明实施例还提供了一种文件下 载系统,参见图2,该系统可以包括: 0079 网页访问请求构造单元201,位于客户端,用于当文件下载请求被防火墙拦截时, 构造一网页访问请求,将所述文件下载请求携带在所述网页访问请求中,并将所述网页访 问请求发送到代理服务器;。

27、 0080 下载单元202,位于代理服务器端,用于对所述网页访问请求进行解析,获取所述 文件下载请求,并从所述文件下载请求对应的服务器获取文件下载结果; 0081 网页访问响应构造单元203,位于代理服务器端,用于构造网页访问响应,将所述 文件下载结果携带在所述网页访问响应中,并将所述网页访问响应消息返回给客户端; 0082 下载结果获取单元204,位于客户端,用于对所述网页访问响应进行解析,获取所 述文件下载结果。 0083 其中,所述网页访问请求为超文本传送协议HTTP请求,所述网页访问请求构造单 元201具体可以用于: 0084 将所述文件下载请求携带在所述网页访问请求的Cookie字段。

28、中; 0085 所述网页访问响应构造单元203具体可以用于: 0086 将所述文件下载结果的包头携带在所述网页访问响应的Cookie字段中,将所述 文件下载结果的包体携带在所述网页访问响应的消息体中。 0087 具体实现时,所述网页访问请求构造单元201可以包括: 0088 第一构造子单元,用于采用预置的域名构造网页访问请求。 0089 其中,该系统还可以包括: 0090 重构单元,用于如果所述网页访问请求被防火墙拦截,则采用新的域名字段重新 构造网页访问请求。 0091 或者,所述网页访问请求构造单元201也可以包括: 0092 第二构造子单元,用于采用随机生成的域名构造网页访问请求。 说 。

29、明 书CN 102882965 A 6/7页 9 0093 在本发明实施例提供的上述系统中,为了解决防火墙等设备对文件下载请求的拦 截,可以构造一网页访问请求,把真正的文件下载请求的HTTP包头放置于一个网页访问请 求中,例如HTTP网页访问请求的Cookie字段中,发送给代理服务器,进而借助于代理服务 器获得下载数据;之后代理服务器再构造一网页访问响应,将文件下载结果携带在该网页 访问响应中,例如将包头携带在HTTP网页访问响应的Cookie字段中,将包体携带在HTTP 网页访问响应的消息体中,并返回给客户端,使得客户端能够获取到文件下载结果真正的 HTTP包头及包体,获得文件下载结果,完成。

30、下载任务。进而,使得在有网络拦截的情况下,大 大提高文件下载的成功率,以使产品升级、普通文件下载等业务的成功率提高。 0094 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求 的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种 编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。 0095 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施 例可以在没有这些具体细节的情况下实践。在一些实例中,并。

31、未详细示出公知的方法、结构 和技术,以便不模糊对本说明书的理解。 0096 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在 上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施 例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保 护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面 的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此, 遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身 都作为本发明的单独实施例。 0097 本领域那。

32、些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地 改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或 子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任 何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开 的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴 随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代 特征来代替。 0098 此外,本领域的技术人员能够理解,。

33、尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任 意之一都可以以任意的组合方式来使用。 0099 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用 微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文件下载设备中的一些 或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一 说 明 书CN 102882965。

34、 A 7/7页 10 部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本 发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样 的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。 0100 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这 样的元件。。

35、本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。 0101 本申请可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环 境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和 /或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、 手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型 计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。计算机 系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般 语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它 们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计 算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。 在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质 上。 说 明 书CN 102882965 A 10 1/1页 11 图1 图2 说 明 书 附 图CN 102882965 A 11 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1