我正在尝试向跟踪器发送HTTP get请求。但我不知道info_hash和peer_id在哪里,我需要它们作为参数。根据bittorent规范,info_hash是元文件的信息“info_hash:urlencoded来自Metainfo文件的信息密钥值的20字节SHA1哈希。”并且peer_id“被允许为任何值”
但是当我把正确的URL编码信息密钥作为info_hash,并且随意地为peer_id添加了一些东西时,我得到了这个错误: d14:失败原因20:Torrent unauthorisede
有人可以给我一个info_hash在这个文件中的例子吗?
d8:announce40:http://tracker.the123ay.org/announce13:announce-listll40:http://tracker.th213bay.org/announceel35:udp://tracker.op123rrent.com:80el23:udp://tr123ker.ccc.de:80el29:udp://tracker.pawscbt.com:80el46:udp://tracker.tntvadse.scambioetico.org:2710ee7:comment46:Torrent downloaded from http://theadsde10:created by13:uTorrent/332013:creation datei1391719112e8:encoding5:UTF-84:infod13:file-durationli2462ei2474ee10:file-mediali0ei0ee5:filesld6:lengthi1443259870e4:pathl70:Casdasd7.Problemi.Di.Famiglia.ITA.720p.DLMux.h264-Noasdip.mkveed6:lengthi1461542146e4:pathl70:Chicaasdasx08.Una.Scelta.Difficile.ITA.720p.DLMux.h264-NovaRip.mkveee4:name48:Chicago.Fire.1x07-08.ITA.720p.DLMux.h264-NovaRip12:piece lengthi262144e6:pieces221620:
如果重要,请使用Java。 Lmk如果我需要提供更多信息。
答案 0 :(得分:0)
示例中的信息词典从
开始infod13:
您必须确定信息数据并计算信息数据的SHA1。之后,您必须对SHA1进行URL编码。
info_hash:urlencoded来自Metainfo文件的信息密钥值的20字节SHA1哈希值。请注意,根据上面信息键的定义,该值将是一个bencoded字典。
有一个用Qt编写的例子,我认为它可以帮到你。 (Qt5.2.1 / 5.2.1 / gcc_64 /示例/网络/洪流) 你可以在这里找到它qt torrent
编辑:对于您正在寻找的内容Calculating the info-hash of a torrent file
,这是一个很好的答案