Преобразование ссылки 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>>());