torrent hash怎么用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了torrent hash怎么用相关的知识,希望对你有一定的参考价值。
与特征码的用法一样。在hash前加上“magnet:?xt=urn:btih:”,再复制进迅雷里面,就能得到种子。torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。
Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。
它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。
根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个种子文件。下载者要下载文件内容,需要先得到相应的种子文件,然后使用BT客户端软件进行下载。
与特征码的用法一样。在hash前加上“magnet:?xt=urn:btih:”,再复制进迅雷里面,就能得到种子。torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。
Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。
它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。
根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个种子文件。下载者要下载文件内容,需要先得到相应的种子文件,然后使用BT客户端软件进行下载。
python libtorrent 如何从 info_hash 获取 torrent 文件列表?
【中文标题】python libtorrent 如何从 info_hash 获取 torrent 文件列表?【英文标题】:python libtorrent How I get file list of torrent from info_hash? 【发布时间】:2014-11-23 04:20:41 【问题描述】: def magnet2torrent(id, info_hash): info_hash_id=id 磁铁="磁铁:?xt=urn:btih:"+info_hash ses = lt.session() 参数 = 'save_path': './', 'duplicate_is_error':是的, 'storage_mode': lt.storage_mode_t(2), “暂停”:错误, 'auto_managed':是的, 'duplicate_is_error':真 句柄 = lt.add_magnet_uri(ses, 磁铁, 参数) print("正在下载元数据(这可能需要一段时间)") 我 = 0; 而(不是handle.has_metadata()): # i = i+1 如果我 > 300 : 返回 睡觉(1) ses.pause() 打印(“完成”) torinfo = handle.get_torrent_info() con = db.get_conncetion() cur = con.cursor() 对于 torinfo 中的 f: cur.execute("INSERT INTO file_list (info_hash_id, name, size) VALUES (\""+str(info_hash_id)+"\", \""+str(f.path)+"\", "+str(f .size)+");") print("INSERT INTO file_list (info_hash_id, name, size) 值 (\""+str(info_hash_id)+"\", \""+str(f.path)+"\", "+str(f.size )+");") con.commit() cur.close() con.close()我想如果我可以从 info_hash 中获取 torrent 文件,那么我可以从 torrent 文件中获取文件列表。
但是当我运行我的代码时
while (not handle.has_metadata()):没有结束。 但是像http://magnet2torrent.com这样的网页立即给我torrent
如何从 info_hash 中获取文件列表?
【问题讨论】:
【参考方案1】:如果您的磁力链接中没有任何跟踪器,则需要启动 DHT。你可以通过调用来做到这一点:
ses.add_dht_router("router.utorrent.com", 6881)
ses.start_dht()
在构造会话对象之后。
【讨论】:
我添加了类似magnet="magnet:?xt=urn:btih:"+info_hash ses = lt.session() ses.add_dht_router("router.utorrent.com", 6881)ses.start_dht()参数= 'save_path':'./','duplicate_is_error':真,'storage_mode':lt.storage_mode_t(2),'暂停':假,'auto_managed':真,'duplicate_is_error ': True handle = lt.add_magnet_uri(ses, magnet, params)但循环未结束 你有没有找到任何同行?你最终在 DHT 路由表中有任何节点吗?
以上是关于torrent hash怎么用的主要内容,如果未能解决你的问题,请参考以下文章
解码 Torrent 跟踪器抓取的 Torrent Hash?
Rest API 根据 torrent Hash 获取 Torrent 信息
Objective-C iOS 从 Torrent 文件生成 Info_Hash