0
import libtorrent as lt
import time
import sys

ses = lt.session()
ses.listen_on(6881, 6891)
params = {
    'save_path': '/home',
    'storage_mode': lt.storage_mode_t(2),
    'paused': False,
    'auto_managed': True,
    'duplicate_is_error': True
    }

link = "magnet:?xt=urn:btih:4fabfdfe37295ee2cb1ac2440f45e36ce022b209"
h = lt.add_magnet_uri(ses, link, params)

ses.add_dht_router("router.utorrent.com", 6881)
ses.add_dht_router("router.bittorrent.com", 6881)
ses.add_dht_router("dht.transmissionbt.com", 6881)
ses.start_dht()

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

torinfo = h.get_torrent_info()

print torinfo.name()
print torinfo.creation_date()
print torinfo.info_hash()
print lt.make_magnet_uri(torinfo)

for tracker in torinfo.trackers():
    print tracker

for x in torinfo.files():
    ???

この torrent_info クラス ドキュメントについて: http://libtorrent.org/reference-Core.html#torrent_info

私はC++を知らないので、種ファイルの一覧に行きます。Pythonを使用します。

4

1 に答える 1

1

torrent_info.files() はfile_storageオブジェクトを返します。このオブジェクトは、ピース サイズやファイルのリストなど、torrent 内のファイル レイアウトを表します。オブジェクトは、ファイルの内部リストへのアクセスを提供しません( file_storageABI を変更せずにその表現を変更できるようにするため)。代わりに、呼び出しnum_files()てファイルの数を知り、インデックスを指定してファイルの特定の属性を尋ねることができます。

たとえばfile_path(index)、またはfile_size(index).

于 2015-01-13T18:01:09.873 に答える