磁力链接的三段构成与校验
磁力链接看上去只是一串字符,实际上由几段固定结构拼接而成。理解每一段的含义,遇到打不开或对不上的情况时,就能判断问题出在哪一段,而不是整条链接从头试到尾。以下三个步骤按先后顺序展开,适合从零认识一条磁力链接,也适合在核对索引条目时逐项对照。
先认清三段固定结构
一条完整的磁力链接通常以 magnet:?xt=urn:btih: 开头,这一段是协议头与哈希标识,必须原样保留,缺一段都会导致解析失败。协议头之后是 40 位十六进制的哈希值,它决定这条链接指向哪一份内容,也是核对条目的核心依据。哈希之后通常还会跟 &dn= 与 &tr= 两段参数,前者是显示名,后者是 tracker 地址。显示名只影响链接在工具里的显示,不影响内容指向;tracker 用于辅助寻找节点,带不带都能解析,带多个时用 &tr= 重复拼接即可。认清这三段之后,再看一条链接就不会被中间的参数绕晕。
哈希值要逐位比对
哈希值是磁力链接里最不能出错的部分。40 位十六进制字符里,字母大小写通常不敏感,但字符本身错一位,指向的内容就完全不同。核对时建议把两条哈希值分成四段,每段十位,逐段比对,而不是凭整体感觉判断相似。索引平台在展示哈希时会把差异位置标出来,方便快速定位。若两个来源的哈希只差一两位,多半是转贴时的手误,可以用平台提供的校验功能确认哪一条与原始记录一致。哈希对不上时不要凭文件名判断,文件名可以随意改,哈希不会。
tracker 参数按需取舍
tracker 参数的作用是告诉客户端去哪里寻找持有该内容的节点。带 tracker 的链接在某些网络环境下连接更快,不带 tracker 的链接则依赖 DHT 网络自行发现节点。整理索引时不必强行补齐 tracker,原始来源带什么就保留什么,额外添加的 tracker 单独标注来源,避免把第三方添加的参数当成本地原始记录。若一条链接在本地长时间无响应,可以先检查 tracker 是否可达,再决定是否替换,而不是直接判定条目失效。参数取舍的原则是保留原始信息,新增内容单独说明。