BitTorrent peer_id 编码格式,无效请求

BitTorrent peer_id encoded format, Invalid Request

我正在尝试使用 BitTorrentSpecification 格式化跟踪器请求,但我不知道如何格式化我生成的计划字符串 peerID。我的程序中的两个样本是:

New Session ID generated: -MC0001-948902816289 
Session ID URLEncoded: %-M%C0%00%1-%94%89%02%81%62%89

我发送那个吗?我收到来自服务器的无效请求...我已经测试并且我的 info_hash 有效。以下示例请求。

http://tracker.tfile.me/announce?info_hash=%B5%E1%3F%36%35%09%62%85%A2%F4%B9%C8%9A%75%E9%F1%CC%BD%C3%CD&peer_id=%-M%C0%00%1-%94%89%02%81%62%89&port=6888&uploaded=0&downloaded=0&left=4018984971&compact=0

peer_id的URL编码不正确,不需要URL编码,因为里面的所有字符都是URL -安全的。发送为:...&peer_id=-MC0001-948902816289&...

此外,compact=1 今天或多或少是强制性的。很少有跟踪器支持传统的非紧凑回复。更改为 ...&compact=1 即可。

也没有event=started,如果是第一次联系跟踪器,它应该在那里。

发送:

http://tracker.tfile.me/announce?info_hash=%B5%E1%3F%36%35%09%62%85%A2%F4%B9%C8%9A%75%E9%F1%CC%BD%C3%CD&peer_id=-MC0001-948902816289&port=6888&uploaded=0&downloaded=0&left=4018984971&event=started&compact=1  

回复是:

d8:completei0e10:downloadedi0e10:incompletei1e8:intervali2988e12:min intervali1494e5:peers6:******