Jason Brown
Jason Brown

Reputation: 137

Libragnar(Libtorrent Wrapper) LocalTorrent File, Instead of URL? C#/C++

Question:
Does anyone know how to add a torrent to LibRagnar using a filepath to a torrent, instead of a Url? (LibRagnar is a libtorrent Wrapper)
libragnar = C#
libtorrent = C++

Alternatively if anyone knows How I can use Libtorrent To add the torrent to a session, But use a local file (Whilst still controlling Everything else using Libragnar).But I am not sure where to start with Libtorrent.


Reason For Problem:
I have to use a filepath because the Torrent Requires cookie login to access it. So I either Need to get Libragnar to use a CookieCollection when getting a torrent from a URL or make it use a local ".torrent" file.


Problem:
I am currently trying to use a filepath instead of URL and the Torrent Status gives an error:unsupported URL protocol: D:\Programming\bin\Debug\Tempfiles\File.torrent. Which wont allow me to start it.

Example:

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

Edit: Answer from Tom W (Posted in C# Chatroom)

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

Note About Answer: I attempted to edit Tom W's post and add the answer he gave me in the Chatroom, However I guess it got declined? But Since he was the one who helped me I wanted him to get credit, and also wanted anyone else having this issue, to have an answer. So I had to add the answer to the bottom of my question.

Upvotes: 0

Views: 706

Answers (1)

Tom W
Tom W

Reputation: 5403

From the libtorrent documentation it appears that:

The only mandatory parameters are save_path which is the directory where you want the files to be saved. You also need to specify either the ti (the torrent file), the info_hash (the info hash of the torrent) or the url (the URL to where to download the .torrent file from)

Libragnar's AddTorrentParams appears to be a wrapper around add_torrent_params and has a property called TorrentInfo. I suspect if you avoid setting the URL, and set this property to an instance of TorrentInfo instead, you ought to get the result you want.

Disclaimer: I've never worked with torrents before, don't know this library, and don't work in C++.

Upvotes: 1

Related Questions