磁⼒链接结构解析分享
磁⼒链接由⼀组参数组成,参数间的顺序没有讲究,其格式与在HTTP链接末尾的查询字符串相同。最常见的参数是"xt",是"exact topic"的缩写,通常是⼀个特定⽂件的内容散列函数值形成的,例如:温瑞凡
其值是编码的⽂件的散列。
七夕节的诗句注意,虽然这个链接指向⼀个特定⽂件,但是客户端应⽤程序仍然必须进⾏搜索来确定哪⾥,如果有,能够获取那个⽂件。
在标准的草稿中其他参数的定义如下:
"dn" ("显⽰名称"):为了⽅便,为⽤户显⽰⽂件名称
"kt" ("关键字"):更笼统的搜索,指定搜索关键字⽽不是特定⽂件
"mt" ("⽂件列表"):⼀个URI指向⼀个列表,例如⼀个项⽬列表
应⽤程序定义的实验参数,必须以"x."开头
标准还建议同类的多个参数可以在参数名称后⾯加上".1", ".2"等来使⽤,例如
描述
磁⼒链接可以包括⼀个或多个参数,之间⽤'&'隔开。参数的顺序在⽂件在标准中没有记录。有⼀些参数的值对于客户端正确磁⼒链接很重要。
magnet:? xl = [字节⼤⼩]& dn = [⽂件名(已编码)]& xt = urn: tree: tiger: [ ()]
参数
dn(显⽰名称)- ⽂件名
惠普打印机墨盒xl(绝对长度)- ⽂件字节数
xt(eXact Topic)- 包含⽂件散列函数值的
as(可接受来源) - 在线⽂件的⽹络链接
xs(绝对资源)- 链接
kt(关键字)- ⽤于搜索的关键字
mt(⽂件列表)- 链接到⼀个包含磁⼒链接的元⽂件 (MAGMA - )
tr(Tracker地址)- BT下载的Tracker URL
xt参数
磁⼒链接的这部分最重要。⽤于寻和验证包含着磁⼒链接中的⽂件。
(Tiger Tree散列函数)
TigerTree散列函数被⽤在包括和在内的⼏个⽹络中。
xt=:[ ()]
(安全散列算法1)
和使⽤的散列函数。
xt=:[ ()]
这种散列函数包含⼀个散列函数和⼀个散列函数,⽤"."隔开。
和使⽤。
xt=:[ ()].[ ()]
(eDonkey2000)散列函数
童话二分之一刘美含使⽤的散列函数算法。
xt=:[ ()]
(⾼级智能型损坏处理)
不是正式的磁⼒链接的⼀部分。使⽤的散列函数算法,⽤于存储和控制下载完成、正在下载的⽂件的完整性。
xt=:[ ()]
散列函数
使⽤的散列函数算法。
xt=:[ ()]
(BitTorrent Info Hash)
使⽤的散列函数算法。
xt=:[ Info ()]
(信息-摘要算法5)
⽀持的散列函数算法。
xt=:[ ()]
(循环冗余校验)
不是正式的磁⼒链接的⼀部分。没有任何已知的⽹络使⽤。
xt=:[ CRC-32()]
⽹络链接⾄⽂件
有两种可以插⼊到磁⼒链接的下载链接作为直接或者备⽤资源。
普通链接(as)
"as"的意思是"acceptable source"。这种链接指向从⽹络服务器的直接下载。只有在指定的超时后才会链接,防⽌服务器过载。客户端在考虑向服务器发送下载请求前会先花⼀定时间在⽹络中定位⽂件。
as=[⽂件的⽹络链接(已编码)]
P2P链接(xs)
链接可以是链接到磁⼒链接的⽂件的HTTP(SHTTP、FTP、SFTP等)下载源、⽂件的P2P源地址或是hub(使⽤DC++时)地址。对于这⼀链接,客户端尝试直接链接,并请求⽂件或其来源,有时会同时请求⼆者。这⼀字段常被P2P客户端⽤来存储源。引⽤中可能包含⽂件hash。
内容寻址⽹络(CAN)URL
这类链接被还有应⽤程序使⽤,基于RFC 2168。
xs=[ 客户端地址]:[客户端端⼝]/uri-res/N2R?[包含⼀个⽂件的 ]
例:
xs=192.0.2.0.27:6346/uri-res/N2R?urn:sha1:FINYVGHENTHSMNDSQQYDNLPONVBZTICF
链接到 hub并为⽂件查源
这⼀链接⽴即将DirectConnect客户端连接到刚才讨论的hub。
xs=dchub://[hub 地址]:[hub端⼝]
为 上的⽂件引⽤基于⽹络的源缓存
这种情况下,链接包含的点不是客户端IP或直接来源,⽽是来源缓存。这样的缓存并不包含⽂件本⾝,⽽是存储了其他客户端的IP,这些客户端连接到缓存来下载相同的⽂件。⼀旦客户端连接到缓存并获得其他替代来源的IP,其⾃⾝IP就会存⼊到缓存中,然后继续连接到下⼀个缓存,继续请求替代来源。这种系统类似于的操作。
xs=cache.freebase.be/[ ]
改名字需要什么手续引⽤ED2K源
xs=ed2k://[ 客户端地址]:[客户端端⼝]/[ed2k hash]/[⽂件⼤⼩]/
⽂件列表(mt)
这是⼀个导向⼀系列连链接列表(也许是个⽹页)的链接……
mt=weblog.foo/all-my-favorites.rss
或者是⼀个
mt=
关键字(kt)
该部分代表了⼀串⽤于P2P⽹络搜索⽤的关键字
kt=martin+luther+king+mp3
Tracker地址(tr)
Tracker .⽤于在不需要⽀持下下载资源。
tr=example/announce
补充格式(x.)
对于实验性且⾃补的⾮正式选项,可以使⽤前缀x后加已选择的第⼆个字母
x.[新参数名]=[新参数数据(已编码)]
参数组
通过在每个参数后编号并⽤"."来分隔允许⼀个Magnet链接中包含多个⽂件及它们,⽂件名和散列函数值。[第⼀个⽂件的]&xt.2=[第⼆个⽂件的]
⽰例
链接到⼀个0字节长度的⽂件。
&xl=0&dn=zero_len.fil
&xt=
青岛自考网.LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ
&xt=
mediawiki-1.15.
&xl=10826029&dn=mediawiki-1.15.
&xt=
&xt=
&tr=http%3A%%2Fannounce.php%3Fuk%3D1111111111%26
&as=http%3A%2F%%2Fmediawiki%2F1.15%2Fmediawiki-1.15.
&xs=http%3A%%2FXRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5
&xs=dchub://
url magnet
dn=mediawiki-1.15.&
xt=
参考资料:/wiki/%E7%A3%81%E5%8A%9B%E9%93%BE%E6%8E%A5
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论