Torrent 跟踪器对每个请求都使用相同的对等 ID 进行回复?
我正在编写一个 Java 应用程序来查看 torrent 文件中列出的跟踪器。
我发送以下内容:
http://pow7.com/announce?info_hash=%3f%99%79%31%73%27%9e%be%1d%d2%cd%5f%af%98%7c%17%5f%43%89%f3&peer_id=-jT1000-122843C6A4B0&port=6881&downloaded=0&left=0
但无论我发送什么 info_hash ,我要么得到相同的对等点 ip 地址(74.253.253.31:6757),要么收到错误。
有什么想法为什么会发生这种情况吗?
此致, TX
I'm writing a Java app to look at the trackers listed in a torrent file.
I send the following:
http://pow7.com/announce?info_hash=%3f%99%79%31%73%27%9e%be%1d%d2%cd%5f%af%98%7c%17%5f%43%89%f3&peer_id=-jT1000-122843C6A4B0&port=6881&downloaded=0&left=0
But it doesn't matter what info_hash I send I either get the same peers ip address back (74.253.253.31:6757) or an error.
Any ideas why this happens?
Best regards,
TX
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我想我找到了问题的答案:
需要根据 info 键的值生成 SHA1 哈希值。我获取从 d (包括,“info”一词之后的下一个字节)到信息映射的最后一个 e (包括)的所有字节。
因此,这将是下面代码片段的粗体部分的 SHA1:
...:info d5:filesld6:...[many bytes]...e 9:...
(没有 d 前面和 e 之后的空格)
然后我简单地转换 MessageDigest 返回的字节数组,并为每个十六进制 2 位数字对插入 % 。例如:
%70%47%8F...[剪断]...%13%6F%6C
Ok, I think I found the answer to my question:
One needs to generate a SHA1 hash from the value of the info key. I take all the bytes from d (included, next byte after the word "info") to the last e of the info map (included).
Thus is will be SHA1 of the bold part of the snippet below:
...:info d5:filesld6:...[many bytes]...e 9:...
(With out the spaces in front of d and after e)
Then I simple convert the byte array returned by MessageDigest and insert % for every hex 2 digit pair. E.g.:
%70%47%8F...[snip]...%13%6F%6C