一、torrent结构分析
上图为文本工具打开torrent文件,里面的信息并不复杂,是经过bencoding编码后生成的文件,bencoding编码可查看具体协议,下面维基百科介绍的文件格式:
announce - tracker的URL
announce-list(可选):备用tracker服务器列表(列表)
creation date(可选):种子创建的时间,Unix标准时间格式,从1970 1月1日 00:00:00到创建时间的秒数(整数)
comment(可选):备注(字符串)
created by(可选):创建人或创建程序的信息(字符串)
info - 该条映射到一个字典,该字典的键将取决于共享的一个或多个文件:
name - 建议保存到的文件和目录名称
md5sum(可选):同单文件结构中相同
piece length - 每个文件块的字节数。通常为 = 256KB = 262144B
pieces - 每个文件块的SHA-1的集成Hash。因为SHA-1会返回160bit的Hash,所以pieces将会得到1个160-bit的整数倍的字符串。和一个length(相当于只有一个文件正在共享)或files(相当于当多个文件被共享):
length - 文件的大小(以字节为单位)
//当是种子描述的是目录时,有下面files字段
files - 一个字