今天我尝试理解(也许实施)Bittorrent协议。
我已经很清楚如何解密" .torrent文件的内容,我使用提取的数据向跟踪器发送了一个请求。
但是,响应不是预期的响应:The wiki about the Bittorent Tracker Protocol表示响应必须包含在" peer" List of dictionaries corresponding to peers.
我正在使用C#程序读取响应,并且我在该字段中唯一拥有的是字节数组(byte []),如果我将其转换为带有
的字符串,则包含50-0B-3F-3F-00-00-50-0B-3F-3F-3F-3F
BitConverter.ToString((byte[])peers)
跟踪器的原始响应是:
d8:completei0e10:downloadedi2e10:incompletei2e8:intervali1970e12:min intervali985e5:peers12:P?? P????e
我的HTTP请求是:
http://bt1.archive.org:6969/announce?info_hash=%ac%c3%b2%e43%d7%c7GZ%bbYA%b5h%1c%b7%a1%ea%26%e2&peer_id=ABCDEFGHIJKLMNOPQRST&ip=xxx.xxx.xxx.xxx&port=6881&downloaded=0&left=970
所以我不明白,出了什么问题?
答案 0 :(得分:1)
跟踪器响应采用compact=1
形式,现在或多或少都是强制性的。