使用c#将Torrent Magnet链接转换为.trent文件

本文关键字:转换 trent 文件 链接 Magnet Torrent 使用 | 更新日期: 2023-09-27 18:27:35

有办法做到这一点吗?我已经尝试过monotorent,但由于缺乏最新的文档,我无法使其工作。我已经用monotorent尝试过了,但我仍然找不到一种方法来获取.trent文件,甚至无法开始下载以获得.trent…

下面的代码是以这个问题为基础的,但它没有将任何内容保存到"D:''A"或"D:''TorrentSave"

    private void GerarTorrent(string magnet)
    {
        MonoTorrent.Client.TorrentManager b = new MonoTorrent.Client.TorrentManager(new MonoTorrent.MagnetLink(magnet), "D:''A", new MonoTorrent.Client.TorrentSettings(), "D:''TorrentSave");
        MonoTorrent.Client.EngineSettings engineSettings = new MonoTorrent.Client.EngineSettings();
        MonoTorrent.Client.ClientEngine clientEngine = new MonoTorrent.Client.ClientEngine(engineSettings);
        clientEngine.Register(b);
        clientEngine.StartAll();
        b.Start();
    }

要生成.torrent,它不一定是monotorent,事实上,这个api的唯一用途就是从一个磁铁链接生成.tornt文件。。。

编辑:用我做F的尝试更新了代码ᴀʀᴀ†一个ᴀᴍ说:

    private void GerarTorrent(string hash)
    {
        MonoTorrent.Client.TorrentManager b = new MonoTorrent.Client.TorrentManager(MonoTorrent.InfoHash.FromHex(hash), "D:''A", new MonoTorrent.Client.TorrentSettings(), "D:''TorrentSave", new List<List<string>>());
        MonoTorrent.Client.EngineSettings engineSettings = new MonoTorrent.Client.EngineSettings();
        MonoTorrent.Client.ClientEngine clientEngine = new MonoTorrent.Client.ClientEngine(engineSettings);
        clientEngine.Register(b);
        clientEngine.StartAll();
        b.Start();
    }

使用的哈希="5FC86BA08451CF4221E0091F31AF1A52C2219009"

使用c#将Torrent Magnet链接转换为.trent文件

您只需要将散列而不是整个磁铁链接传递给TorrentManager构造函数。

磁铁链接如下所示:

magnet:?xt=urn:btih:18981bc9759950b4715ad46adcaf514e6a773cfe

因此,一种更广义的形式:

magnet:?xt=urn:btih:<hash>

您需要提取这个<hash>并将其传递给构造函数:

manager = new TorrentManager(InfoHash.FromHex(hash), downloadsPath, torrentDefaults, downloadsPathForTorrent, new List<List<string>>());