我試圖連接到一個洪流跟蹤器,以接收對等列表來播放bit洪流,但是我無法形成正確的GET請求。Torrent Tracker info hash GET請求 - Python
據我所知,我必須從.torrent文件中獲取bencoded'info'部分的20字節SHA1哈希。我使用下面的代碼:
h = hashlib.new('sha1')
h.update(bencode.bencode(meta_dict['info']))
info_hash = h.digest()
這就是我卡住的地方。我不知道如何創建適當的url編碼info_hash作爲參數粘貼到URL字符串中。
我相信它涉及urllib.urlencode和urllib.quote的一些組合,但是我的嘗試目前還沒有奏效。
urllib.quote()應該是你所需要的... –
罕見的情況下,種子有一個信息字典鍵不字典順序排序,或者包含重複鍵。在這種情況下,您對它的重新編碼很可能會產生與.torrent文件不同的字節序列,也會產生錯誤的散列。爲了解決這個問題,請將原始範圍散列在與信息字典對應的.torrent文件中。 – Arvid