Libragnar(Libtorrent Wrapper)LocalTorrent文件,而不是URL?C#/C++

本文关键字:URL C++ Libtorrent Wrapper 文件 LocalTorrent Libragnar | 更新日期: 2023-09-27 18:21:54

问题:
有人知道如何使用torrent的文件路径而不是Url将torrent添加到LibRagnar吗?(LibRagnar是一个libtorrent包装程序)
libragner=C#
libtorrent=C++

或者,如果有人知道我如何使用Libtorrent将torrent添加到会话中,但使用本地文件(同时仍使用Libragnar控制其他一切)。但我不确定从哪里开始使用Libtornt。


问题原因:
我必须使用文件路径,因为Torrent需要cookie登录才能访问它。因此,当从URL获取Torrent时,我要么需要让Libragnar使用CookieCollection,要么让它使用本地".Torrent"文件。


问题:
我目前正在尝试使用文件路径而不是URL,并且Torrent状态给出了一个错误: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"
};

编辑:Tom W的回答(发表在C#聊天室)

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

关于答案的注意事项:我试图编辑Tom W的帖子,并添加他在聊天室给我的答案,但我想它被拒绝了?但由于他是帮助我的人,我希望他能得到信任,也希望其他有这个问题的人能得到答案。所以我不得不在问题的底部加上答案。

Libragnar(Libtorrent Wrapper)LocalTorrent文件,而不是URL?C#/C++

从libtorrent文档中可以看出:

唯一的强制参数是save_path,它是目录保存文件的位置。您还需要指定ti(torrent文件)、infohash(torrent)或url(下载.torrent文件的url来自)

Libragnar的AddTorrentParams似乎是add_torrent_params的包装器,并且具有一个名为TorrentInfo的属性。我怀疑,如果您避免设置URL,而是将此属性设置为TorrentInfo的实例,您应该会得到所需的结果。

免责声明:我以前从未使用过torrents,不知道这个库,也不使用C++。