下载获取文件名的一般规则

 

一、HTTP/FTP下载地址:

1、举例:ftp://iso:[email protected]/TonPE_V1.4.rar

         http://down.rnovel.com/booktxt/3/13682/13682.zip

2、取名规则:

A)如果是302跳转,则先进行302跳转;

B)检查HTTP Header中是否有Content-Disposition字段,有则以其内容作为文件名;

C)从URL中获取文件名,从左到右找到最后一个“/”字符,再从这个字符开始找到第一个“?”字符,如果没有这个字符则整串为文件名;如果有则取“/”与“?”之间的字符串作为文件名;

D)从已获取的文件名中,获取非后缀部分,并根据最长限制截断文件名(一般128字节长),后缀不能截断;

二、迅雷下载地址:

1、举例:thunder://QUFmdHA6Ly9pc286bXlkaWdpdC5jbkBteWRpZ2l0LmNuL1RvblBFX1YxLjQucmFyWlo=

2、解析:Base64解码后为以下字串:AAftp://iso:[email protected]/TonPE_V1.4.rarZZ,去掉前后的“AA”和“ZZ”,则为真实的地址;

3、取名规则:参考第一节方法,以解析后的地址来分析文件名;

三、快车下载地址:

1、举例:Flashget://W0ZMQVNIR0VUXWh0dHA6Ly9kb3duLnJub3ZlbC5jb20vYm9va3R4dC8zLzEzNjgyLzEzNjgyLnppcFtGTEFTSEdFVF0=&1064

2、解析:Base64解码后为以下字串:[FLASHGET]http://down.rnovel.com/booktxt/3/13682/13682.zip[FLASHGET],去掉前后的“[FLASHGET]”,则为真实地址;

3、取名规则:参考第一节方法,以解析后的地址来分析文件名;

【注】:Flashget地址已有新版协议,可能会嵌套,比如Flashget解析后还是一个Flashget地址,因此需要特别注意是否能嵌套解析。

四、QQ旋风下载地址:

1、举例:qqdl://aHR0cDovL2Rvd24ucm5vdmVsLmNvbS9ib29rdHh0LzMvMTM2ODIvMTM2ODIuemlw

2、解析:Base64解码后为:http://down.rnovel.com/booktxt/3/13682/13682.zip ,没有前后缀;

3、取名规则:参考第一节方法,以解析后的地址来分析文件名;

五、电驴下载地址:

1、举例:ed2k://|file|[%E6%98%9F%E6%98%9F%E5%90%8C%E5%AD%A6%E4%BC%9A].Club.Sparkle.07.(ED2000.COM).rmvb|216871766|7f3826e1be846b3e1be2e95d503d4f70|h=ZGH7FKZ5YZNO6MAOSSO2FG7D244PDKGP|/

2、规则:ed2k://|file|<文件名称>|<文件大小>|<文件哈希值>|<其它字段>/[|sources,<IP:端口>|/]

3、取名规则:根据上述规则获取文件名以及文件大小

你可能感兴趣的:(下载获取文件名的一般规则)