使用Rust的reqwest板条箱与tokio(异步)与QBitcurrent web API交互。
我根据QBitcurrent web API的文档创建了一个HTTP请求,
该请求可以在Postman和Python中使用,但由于某些原因不能在rust中使用。
以下代码是从邮差“代码段”粘贴而来的。
#[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(())
}
在reqwest的docs.rs上,crate multipart和Form确实存在。
https://docs.rs/reqwest/latest/reqwest/multipart/struct.Form.html
正在获取
这
错误
:
未能解析:找不到
multipart
在里面
reqwest
找不到
多部分
在里面
reqwest
.(第6行)
BTW:我也试过使用阻塞版本,我也遇到了同样的错误。
这些是相关的依赖关系:
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
reqwest = "0.11.18"
async-trait = "0.1.72"