Преобразование ссылки Torrent Magnet в файл.torrent с помощью C#

Есть ли способ сделать это? Я уже пробовал с monotorrent, но из-за отсутствия современной документации я не мог заставить его работать. Я уже пробовал это с monotorrent, но все еще не могу найти способ получить файл.torrent или даже начать загрузку, чтобы получить.torrent...

В следующем фрагменте кода этот вопрос был задан как базовый, но он ничего не сохраняет в "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, он не обязательно должен быть моноторрентным, фактически для этого будет использоваться только API. Генерация файлов.torrent по магнитной ссылке...

РЕДАКТИРОВАТЬ: Обновлен код с моей попыткой сделать то, что сказал Fᴀʀʜᴀɴ Aɴᴀᴍ:

    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"

1 ответ

Вам нужно передать только хэш, а не всю ссылку на магнит 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>>());
Другие вопросы по тегам