在python中对torrent跟踪器的HTTP请求

时间:2017-06-28 13:19:21

标签: python torrent

我想写一个python torrent客户端(因为我需要它,我想提高我的技能)。 我必须向跟踪器发送HTTP get请求。我正在使用请求库。

from read_torrent import *
import requests as req


txt = read_torrent('arch.torrent')
(res, other) = parse(txt)
pl = {}
pl['uploaded'] = 0
pl['downloaded'] = 0
pl['event'] = 'started'
pl['peer_id'] = '12345678987654321234'
pl['info_hash'] = dont_know
pl['left'] = 0
pl['port'] = 6881

r = requests.get(res['announce'], params=pl)
r.raise_for_status()
print('-------RESULT-------')
print(r.text)

两个问题:

  1. 我是否以正确的方式使用get功能?
  2. 我使用info_hash作为什么?
  3. 聚苯乙烯。我已经阅读了THIS和wiki理论页面。

1 个答案:

答案 0 :(得分:0)

info_hash是您从.torrent文件计算的SHA1哈希值。 (bencoded信息字典)。可以找到Python的示例here

get请求首先应包含宣告请求的HTTP-Tracker +结构的链接。

请注意:现在大多数跟踪器都是UDP(开销较小)。您必须确保您的.torrent文件包含HTTP跟踪器(在编辑器中打开该文件)。以udp://开头的跟踪器不会为您的HTTP请求提供响应。