如何使用 python-libtorrent 获取 torrent 的对等列表?

Posted

技术标签:

【中文标题】如何使用 python-libtorrent 获取 torrent 的对等列表?【英文标题】:how to get the peer list of a torrent using python-libtorrent? 【发布时间】:2012-10-29 20:25:53 【问题描述】:

我试过这段代码:

import libtorrent as lt
import time
ses = lt.session()
ses.listen_on(6881, 6891)
info = lt.torrent_info('test.torrent')
h = ses.add_torrent('ti': info, 'save_path': './')
print 'starting', h.name()
while (not h.is_seed()):
   s = h.status()
   p = h.get_peer_info()

   print lt.peer_info().ip

   sys.stdout.flush()

   time.sleep(15)

print h.name(), 'complete'

它会打印这个:

starting test.avi
('0.0.0.0', 0)

('0.0.0.0', 0)
. 
.
.

所以不是给我一个同行列表,而是给我零。我做错了什么吗?

【问题讨论】:

【参考方案1】:

您的 python 代码中似乎有错误。

打印 lt.peer_info().ip

该行将构造一个新的 peer_info 对象,然后打印 IP(此时将默认初始化,并包含 0.0.0.0)。

我相信你想做的是:

for i in p:
   print i.ip()

即对于洪流中的每个对等点,打印其 IP。

【讨论】:

以上是关于如何使用 python-libtorrent 获取 torrent 的对等列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python-libtorrent 下载特定文件

检索对等列表而不使用 python-libtorrent 下载种子

python 需要python-libtorrent磁力链接转种子

pip install python-libtorrent==1.1.0 在 linux 上失败

libtorrent-rasterbar 的 python 绑定是不是适用于 Python 3?

如何在快速路由器获取请求中从节点获取中使用获取