首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何下载只知道信息散列和对等点的洪流?

如何下载只知道信息散列和对等点的洪流?
EN

Stack Overflow用户
提问于 2022-11-04 04:00:41
回答 1查看 70关注 0票数 -1

我从bittorrent标准构建了一个读取/使用最佳环保计划5的DHT爬虫。有了它,我可以从洪流中收集信息散列,并为对等点查询DHT节点。这样说,有:

  1. 急流的信息散列。
  2. 当前的激流同行。

我怎样才能下载这条急流?

最佳环保计划9建议采用以下形式的磁铁模式(省略跟踪器和名称部分):

代码语言:javascript
复制
magnet:?xt=urn:btih:<info-hash>&dn=<name>&tr=<tracker-url>&x.pe=<peer-address>

使用这种方法,我当前的急流客户端(传输)被困在尝试获取对等端。为了防止兼容性问题,我尝试了许多其他客户没有运气。

我的第二种方法是将相应的DHT节点临时加载到客户端,并以以下最简单的形式加载磁铁url:

代码语言:javascript
复制
magnet:?xt=urn:btih:<info-hash>

没有结果。

在下面的代码中,假设我们从侦听DHT节点"router.bittorrent.com:6881“收到的信息散列”

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

session = lt.session()
session.listen_on(6881, 6891)
session.add_dht_router("router.bittorrent.com", 6881)
session.start_dht()

time.sleep(1)

params = {"url":"magnet:?xt=urn:btih:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "save_path":'.'}
h = session.add_torrent(params)

while (not h.has_metadata()):
    time.sleep(1)

# download...

为澄清第一种方法而进行的小编辑:

我刚刚从DHT中的一个信息散列中发现了一个对等点,它的ip: X:Y端口和ip: Z:Y端口逻辑中的另一个对等点,下面的磁铁,粘贴在任何支持BEP 9的急流客户机中,难道不应该下载这个流吗?

代码语言:javascript
复制
magnet:?xt=urn:btih:<info-hash>&x.pe=X:Y&x.pe=Z:Y
EN

回答 1

Stack Overflow用户

发布于 2022-11-10 20:26:06

如果你需要一个总体的概述,磁铁链接下载如何在原则上,那么这个答案应该涵盖它。

如果您想调试您的实现,您将需要深入研究细节,并确保所有必要的步骤都是可观察的,这样您就可以检查什么东西失败了。

  • DHT查找是否返回任何对等点?
  • 你能和同龄人联系吗?对等方是否表示支持所需的扩展?
  • 您的客户是否请求获取元数据?
  • 收到回复了吗?
  • 答复是否有效?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74312036

复制
相关文章

相似问题

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