41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
# qBittorrent web api for Rust
|
|
|
|
This is an automatic async implementation of the qBittorrent 4.1 web api. The api generation is based on a forked wiki markdown file describing the api which can be found [here](https://github.com/jowax/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)) and the original [here](https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)).
|
|
|
|
## Example
|
|
|
|
```rust
|
|
use anyhow::Result;
|
|
use qbittorrent_web_api::Api;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<()> {
|
|
let api = Api::login("http://localhost:8080", "admin", "adminadmin").await?;
|
|
|
|
// add a torrent
|
|
api.torrent_management()
|
|
.add("http://www.legittorrents.info/download.php?id=5cc013e801095be61d768e609e3039da58616fd0&f=Oddepoxy%20-%20Oddepoxy%20(2013)%20[OGG%20320%20CBR].torrent")
|
|
.send()
|
|
.await?;
|
|
|
|
// critical logs
|
|
let logs = api.log()
|
|
.main()
|
|
.critical(true)
|
|
.warning(false)
|
|
.normal(false)
|
|
.info(false)
|
|
.send()
|
|
.await?;
|
|
|
|
println!("{:#?}", logs);
|
|
|
|
// current torrent info
|
|
let info = api.torrent_management().info().send().await?;
|
|
|
|
println!("{:#?}", info);
|
|
|
|
Ok(())
|
|
}
|
|
```
|