如何计算torrent的scrape URL

C A*_*C A 7 python bittorrent

我已经阅读了Bit-torrent规范并完成了大量搜索,试图找出如何从torrent跟踪器(使用Python)获取种子/对等/下载数据.我可以从Torrent计算信息哈希没问题,这与各种工作的torrent应用程序给出的信息哈希相匹配.

但是,当我尝试从跟踪器获取信息时,我会超时(跟踪器工作)或获取空数据,具体取决于我将URL放入的形式:

http://tracker.openbittorrent.com/scrape?info_hash=a8c482902b1c735de462479721b011dc7b3d3558 - 超时

我被告知这应该是20个字符长,所以采用子字符串,但这给出了空数据.

http://tracker.openbittorrent.com/scrape?info_hash=a8c482902b1c735de462 - d5:filesdee

我想我已经误解了我应该如何编码或为scrape URL制作infohash,但不能在我的生活中看到哪里.

bob*_*nce 6

您正在传递info_hash的十六进制字符表示形式.它应该是二进制表示.要将不可打印的字节放入URL,请使用URL编码:

/scrape?info_hash=%A8%C4%82%90%2B%1Cs%5D%E4bG%97%21%B0%11%DC%7B%3D5X
Run Code Online (Sandbox Code Playgroud)

(我也试着避免_在info_hash参数中进行编码...不是说它不正确,但是我希望一些速度快的跟踪器变得混乱.)