BitTorrent peer_id编码格式,无效请求

时间:2017-07-04 01:53:22

标签: java format bittorrent

我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

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:******