首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有元数据下载

没有元数据下载
EN

Stack Overflow用户
提问于 2016-10-10 17:58:42
回答 1查看 787关注 0票数 1

我正在使用libtorrent 1.0.9和自定义绑定(用python可以复制)。有时,我无法下载磁铁,因为它们没有元数据(而可用的DHT节点超过200个)。我可以重现这个磁铁的问题:

代码语言:javascript
复制
magnet:?xt=urn:btih:565DB305A27FFB321FCC7B064AFD7BD73AEDDA2B&dn=bbb_sunflower_1080p_60fps_normal.mp4&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&ws=http%3a%2f%2fdistribution.bbb3d.renderfarming.net%2fvideo%2fmp4%2fbbb_sunflower_1080p_60fps_normal.mp4

同时,在其他急流客户端(qBittorrent、Vuze)中,元数据的获取速度非常快。它可以通过以下代码进行复制:

代码语言:javascript
复制
import libtorrent as lt
import time

session = lt.session()
session.listen_on(6881, 6891)
session.add_extension('ut_metadata')
session.add_extension('ut_pex')
session.add_extension('metadata_transfer')
session.add_dht_router("router.utorrent.com", 6881)
session.add_dht_router("router.bittorrent.com", 6881)
session.add_dht_router("dht.transmissionbt.com", 6881)
session.add_dht_router("dht.aelitis.com", 6881)
session.start_dht()
session.start_lsd()
session.start_upnp()
session.start_natpmp()

params = { 'save_path': '/tmp/'}
link ="magnet:?xt=urn:btih:565DB305A27FFB321FCC7B064AFD7BD73AEDDA2B&dn=bbb_sunflower_1080p_60fps_normal.mp4&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&ws=http%3a%2f%2fdistribution.bbb3d.renderfarming.net%2fvideo%2fmp4%2fbbb_sunflower_1080p_60fps_normal.mp4"
handle = lt.add_magnet_uri(session, link, params)

print('downloading metadata...')
while (not handle.has_metadata()):
    status=session.status()
    print('dht nodes: ', status.dht_nodes)
    time.sleep(1)
print ('got metadata, starting torrent download...')
while (handle.status().state != lt.torrent_status.seeding):
    print('%d %% done' % (handle.status().progress*100))
    time.sleep(1)

我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-12 05:05:11

这很可能是由1.0.x系列中的一个问题引起的,其中来自DHT的一些最初响应将使节点更改其节点ID (为了匹配其外部IP地址,请参见这个职位)。

它通过重新启动DHT节点来实现这一点。任何在飞机上的洪流在那个时候宣布将丢失.等待15分钟的下一次宣布应该使宣布通过。另一个选项是在向会话添加第一个洪流之前等待警报

这个问题在1.1.x版本中得到了修正。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39964096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档