Torrent Tracker信息哈希GET请求 - Python

时间:2012-11-28 01:46:39

标签: python http urlencode bittorrent tracker

我正在尝试连接到一个torrent跟踪器以接收一个用于播放bit torrent的对等列表,但是我无法形成正确的GET请求。

据我所知,我必须从.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的某种组合,但到目前为止我的尝试还没有奏效。

2 个答案:

答案 0 :(得分:1)

好一点,但可能会帮助别人。

使用模块requests按自己的方式对网址进行编码。首先,您需要使用参数(info_hash,peer_id等)创建字典。然后你只需要做一个获取请求

response = requests.get(tracker_url, params=params)

答案 1 :(得分:0)

我认为urllib.quote_plus()就是你所需要的。