how to get the peer list from torrent tracker resp

2019-06-25 11:37发布

问题:

I am making a torrent client. I decode the torrent file and send this request to the tracker:

http://tracker.mininova.org/announce?uploaded=0&downloaded=0&compact=0&event=started&peer_id=12345678987654321234&port=6881&info_hash=%18%28n%23K%ECt%B7%93S%C5%F1-%F3%1C%18k%CEX%A4&left=0 

and this is what I received:

{'min interval': 1800, 'peers': '', 'interval': 1800, 'complete': 37, 'incomplete': 0}

Why is the peer list empty? There are 37 peers that are seeders, shouldn't I get some peer information from them?

回答1:

The reason that you got an empty peer list is because the tracker don't send seeds to other seeds and there was no leechers registered at the moment of the request.

The tracker registered you as a seed because you sent &left=0in the request string, indicating that you have the complete torrent.
See: https://wiki.theory.org/BitTorrentSpecification#Tracker_Request_Parameters



回答2:

It's possible the trackers you're querying just aren't storing peers for that torrent. I was able to find peers using DHT.

The URL would be magnet:?xt=urn:btih:18286e234bec74b79353c5f12df31c186bce58a4 .