在infohash中'00'时,Bittorrent跟踪器回复刮取

我的问题是当infohash包含'00'时scrape http回复,使用%00刮取请求,因此http回复中会有' 0'。 我在infohash中找到了一些零字节的种子,我想知道跟踪器应该如何回复对该种子的scrape请求。我的意思是' 0'通常会起作用吗?我用torrentspy测试了这个种子,它总是说:   “在追踪器上找不到Torrent;可能会腐烂” 我写了一个基本的跟踪器来测试,并验证完整的scrape回复是写入socket但torrentspy仍然具有相同的输出。当我在webbrowser中查看刮擦回复时,它会在' 0'处结束 有人能把光带入黑暗吗?     
已邀请:
目前还不完全清楚你的问题是什么,但我会尝试填补一些内容。 ' 0'与任何其他不可打印的字符没有什么不同。所有非URL安全字符始终必须作为%xx在GET请求中转义为HTTP跟踪器。一些跟踪器存在错误,例如他们假设不需要转义的字符不被转义(即,它们可以存储转义版本的信息哈希作为其内部表示)。一些Web服务器甚至可能认为`(单引号)总是被转义(允许SQL注入攻击)。必须转义所有特殊字符,尤其是
&
%
(显然)。 响应更简单。由于来自跟踪器的响应是bencoded,所有信息哈希都以二进制形式发送。即根本没有编码。解码时,您可能希望对信息哈希进行十六进制编码,因为这是一种更加用户友好的表示形式,也是传统的打印方式(在网站,磁力链接,应用程序上)。 所以,对你的问题。当你说“在infohash中有零字节的种子”时,我假设你的意思是他们的信息哈希有一个更多的字节,这是0.这是完全正常的,并不罕见。它通常会起作用吗?是的,您只需要确保将其作为%00转义,就像您必须使用%01一样。 你的洪流可能已经死了,即跟踪器停止跟踪它。这就是错误信息的含义。它可能与在info-hash中使用零字节无关。     

要回复问题请先登录注册