首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Scala中的magnet下载文件

使用Scala中的magnet下载文件
EN

Stack Overflow用户
提问于 2012-12-11 04:19:48
回答 1查看 2.4K关注 0票数 2

我想在我的Scala应用程序中包含一些bittorrent特性。我想使用磁铁链接,如果我可以的话,因为他们的使用方便。问题是,我想使用像逆流这样的预构建库。但是,我发现这些lib不使用磁铁链接,它们使用metainfo或torrent文件本身。

因此,我想我的第一步是采取磁铁链接,并建立一个方法的对象自己。我很好地理解了磁铁链接的组成,并能将其解析为参数。,我只是不太清楚如何使用磁铁参数。我不知道该怎么处置他们。

下面是我在PB上找到的一个测试磁铁链接:

代码语言:javascript
复制
magnet:?xt=urn:btih:ad11eb1a0aeed57116225fb341dc61883c22aeba&dn=Rise.of.the.Guardians.2012.TS.NEW.SOURCE.x264.AAC-UNiQUE&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80

解析之后,我得到:

代码语言:javascript
复制
xt=urn:btih:ad11eb1a0aeed57116225fb341dc61883c22aeba
dn=Rise.of.the.Guardians.2012.TS.NEW.SOURCE.x264.AAC-UNiQUE
tr=udp://tracker.openbittorrent.com:80
tr=udp://tracker.publicbt.com:80
tr=udp://tracker.istole.it:6969
tr=udp://tracker.ccc.de:80

很简单。现在我没有太多的使用散列,但我很确定我不能从它直接获得任何信息。我唯一的猜测是,我可能得联系一个追踪者,才能找到那个追踪器。不过我不太确定。

fyi这次出租只用于合法共享,在应用程序的用户之间共享应用程序数据和应用程序文件。

EN

回答 1

Stack Overflow用户

发布于 2014-11-23 05:52:39

根据客户所需的信息哈希检索元数据

  1. 能够找到对等点,在本例中是通过UDP跟踪器(BEP 15)*
  2. 支持扩展协议(BEP 10)
  3. 通过扩展协议支持元数据交换(BEP 9)

因为,根据其自述,ttorrent没有实现BEPs 9和10,它不能使用磁铁链接。

* HTTP跟踪器和DHT是其他来源,需要它们自己的协议,但与本例无关

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

https://stackoverflow.com/questions/13813567

复制
相关文章

相似问题

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