Interagindo com a API da web QBittorrent usando as caixas de solicitação do Rust com tokio (assincronamente).
Criei uma solicitação HTTP de acordo com a documentação da API da web QBittorrent. A solicitação funciona em Postman e Python, mas por algum motivo não está enferrujada.
O código a seguir foi colado do Postman "Code Snippet".
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::builder()
.build()?;
let form = reqwest::multipart::Form::new()
.text("urls", "magnet:?xt=urn:btih:...")
.text("save_path", "C:\\Users\\user\\Downloads");
let request = client.request(reqwest::Method::POST, "http://localhost:2048/api/v2/torrents/add")
.multipart(form);
let response = request.send().await?;
let body = response.text().await?;
println!("{}", body);
Ok(())
}
Nos docs.rs de reqwest crate multipart e Form existem. https://docs.rs/reqwest/latest/reqwest/multipart/struct.Form.html
Obtendo este erro : falha ao resolver: não foi possível encontrar multipart
em reqwest
não foi possível encontrar multipart
em reqwest
. (Linha 6)
BTW: tentei usar a versão de bloqueio também, recebo o mesmo erro.
Estas são as dependências relevantes:
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
reqwest = "0.11.18"
async-trait = "0.1.72"