我想写一个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)
两个问题:
get
功能?info_hash
作为什么?聚苯乙烯。我已经阅读了THIS和wiki理论页面。
答案 0 :(得分:0)
info_hash是您从.torrent文件计算的SHA1哈希值。 (bencoded信息字典)。可以找到Python的示例here。
get请求首先应包含宣告请求的HTTP-Tracker +结构的链接。
请注意:现在大多数跟踪器都是UDP(开销较小)。您必须确保您的.torrent文件包含HTTP跟踪器(在编辑器中打开该文件)。以udp://开头的跟踪器不会为您的HTTP请求提供响应。