Libragnar (Libtorrent Wrapper) LocalTorrent File вместо URL? С#/С++

Вопрос:
Кто-нибудь знает, как добавить торрент в LibRagnar используя путь к торренту вместо URL? (LibRagnar — это оболочка libtorrent)
libragnar = C#
libtorrent = C++

В качестве альтернативы, если кто-нибудь знает, как я могу использовать Libtorrent, чтобы добавить торрент в сеанс, но использовать локальный файл (при этом все еще контролируя все остальное с помощью Libragnar). Но я не уверен, с чего начать с Libtorrent.


Причина проблемы:
Мне нужно использовать путь к файлу, потому что Torrent требует входа в систему через cookie для доступа к нему. Поэтому мне нужно либо заставить Libragnar использовать CookieCollection при получении торрента с URL-адреса, либо заставить его использовать локальный файл «.torrent».


Проблема:
В настоящее время я пытаюсь использовать путь к файлу вместо URL, и статус торрента выдает ошибку:unsupported URL protocol: D:\Programming\bin\Debug\Tempfiles\File.torrent. Который не дает мне начать.

Пример:

    var addParams = new AddTorrentParams
{
    SavePath = "C:\\Downloads",
    Url = "D:\\Programming\\bin\\Debug\\Tempfiles\\File.torrent"
};

Изменить: ответ Тома В. (опубликовано в чате C#)

var ati = new AddTorrentParams()
{
    TorrentInfo = new TorrentInfo("C:\thing.torrent"),
    SavePath = @"C:\save\"
};

Примечание об ответе: я попытался отредактировать сообщение Тома В. и добавить ответ, который он дал мне в чате, но я думаю, что он был отклонен? Но так как он был тем, кто помог мне, я хотел, чтобы он получил признание, а также хотел, чтобы у всех, у кого есть эта проблема, был ответ. Поэтому мне пришлось добавить ответ в конец моего вопроса.


person Jason Brown    schedule 15.11.2015    source источник
comment
Если бы кто-то мог хотя бы указать мне направление для решения этой проблемы, по крайней мере, тогда, может быть, я смогу ответить на него позже.   -  person Jason Brown    schedule 15.11.2015


Ответы (1)


Из документации libtorrent следует, что :

Единственным обязательным параметром является save_path, который представляет собой каталог, в котором вы хотите сохранить файлы. Вам также необходимо указать либо ti (торрент-файл), либо info_hash (информационный хэш торрента), либо URL-адрес (URL-адрес, откуда можно загрузить файл .torrent)

AddTorrentParams от Libragnar является оболочкой для add_torrent_params и имеет свойство под названием TorrentInfo. Я подозреваю, что если вы избежите установки URL-адреса и вместо этого установите для этого свойства экземпляр TorrentInfo, вы должны получить желаемый результат.

Отказ от ответственности: я никогда раньше не работал с торрентами, не знаком с этой библиотекой и не работаю на C++.

person Tom W    schedule 15.11.2015
comment
Спасибо, я пытаюсь понять, как получить прямой доступ к библиотеке libtorrent, когда я использую только Libragnar. Я только немного углубился в C++ (воссоздал космических захватчиков для 3ds (доморощенный), но так и не закончил). В любом случае мне, вероятно, придется изменить AddTorrentParams Libragnar или использовать Libtorrent напрямую. (Чего я отчаянно хочу избежать) Спасибо, что хотя бы указали мне направление, теперь я знаю, какие методы изучить. - person Jason Brown; 15.11.2015