我正在尝试连接到一个 torrent 跟踪器以接收一个同伴列表来播放比特 torrent,但是我在形成正确的 GET 请求时遇到了麻烦。
据我了解,我必须从 .torrent 文件中获取经过编码的“信息”部分的 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 的某种组合,但是我的尝试到目前为止还没有奏效。