磁力链接参数详解:btih、dn 与 tr 各管什么
一条磁力链接,其实是几个字段拼起来的
大部分人复制磁力链接的时候只看到一长串字符,其实它是有结构的。开头固定是 magnet:?,后面跟着若干键值对,用 & 分隔。搞懂这几个字段,很多问题不用求人:链接为什么显示成奇怪的名字,为什么某些客户端能加速,为什么复制一半就废了。
标准写法大概是这样:magnet:?xt=urn:btih:哈希值&dn=显示名称&tr=Tracker地址。下面逐个说。
xt 与 btih:整条链接的核心
xt 是 exact topic 的缩写,值一般是 urn:btih: 加 40 位十六进制,也有用 32 位 Base32 的。这串哈希是根据种子里的文件信息算出来的,文件内容一改,哈希就变,所以它相当于资源的身份证。客户端拿到它,会去 DHT 网络里问谁有这个哈希,找到节点就开始下载。
也正因为如此,哈希输错一位,链接就指向一个根本不存在的资源。判断方法很简单,看长度:40 位是标准写法,少于 40 位基本是被截断了。
dn:只是给人看的名字
dn 是 display name。它不参与校验,改了不影响下载,只影响你在客户端里看到的标题。有些发布者会在这里塞广告或者一堆关键词,看着很乱。想要干净的名字,下载完自己改文件夹名就行,不用纠结链接里写了什么。
tr 与 xl:Tracker 和长度
tr 是 tracker 地址,一条链接里可以出现多次,客户端会挨个去问。现在 DHT 普及之后,Tracker 的作用没那么关键了,但保留几个稳定的 tracker 对冷门资源还是有帮助,尤其是刚发布还没进 DHT 的新种子。
xl 是 exact length,也就是总字节数。它同样用于校验,长度对不上说明链接被改过或者拼错了。有的链接还会带 ws,那是 web seed,指向一个可以直接用 HTTP 下载的地址,能明显提速。
复制出来的链接变样了怎么办
- 末尾多了一串百分号编码,是聊天软件自动转义的,粘贴到浏览器地址栏再复制一次通常就恢复
- 链接断在半截,先数 btih 后面的字符,不够 40 位就是被截断了,只能回原页面重取
- 带换行或者空格,删掉后重新拼接,注意不要连中间的 & 一起删了
- 某些客户端要求磁力链接用引号包起来,命令行导入时尤其常见
看到这几种链接要多想一步
哈希是 32 位 Base32 的,多半来自老资源,能用但兼容性差一点。dn 里塞了执行文件名,比如 setup.exe 或者 crack,先别急着下,问自己要的是资源还是软件。另外链接里如果挂了几十个 tracker,还带一堆乱七八糟的参数,可能是某个站自己加的水印,去掉也不影响使用。
还有一点,链接本身不包含任何文件内容,它只是一份指路信息。所以别人发你一条链接,不等于发给你一个文件,能不能下到还取决于当时有没有人在做种。
写在最后
磁力链接的参数不多,记住三个就够用:btih 决定找什么,dn 决定显示什么,tr 决定去哪里问。剩下的参数属于锦上添花。下次遇到链接打不开,先别怀疑工具,数一数哈希位数,往往问题就在那儿。
magnet:?xt=urn:btih:4b8e21cd7a95f3062ed1c47b83a6905fe2d81c37&dn=auvcili-demo
该字段为演示用的占位示例代码,本站不制作、不存储、不提供任何资源文件。