所以我查找了http crate 文档并用来Request::builder()
发出请求。然而,尽管听起来很愚蠢,但我没有设法找出如何发送此请求。比如我需要做什么?:p
有一个示例代码,但它删除了重要的部分,即函数send()
:
use http::{Request, Response};
let mut request = Request::builder()
.uri("https://www.rust-lang.org/")
.header("User-Agent", "my-awesome-agent/1.0");
if needs_awesome_header() {
request = request.header("Awesome", "yes");
}
let response = send(request.body(()).unwrap());
fn send(req: Request<()>) -> Response<()> {
// ...
}
我已经按照入门指南设法通过 hyper 发送请求,但是 http 箱对我来说似乎更容易理解......至少只要我不必发送我的请求:p
目前我有:
use http::{Request, Response, StatusCode};
fn main() {
let request = Request::builder()
.method("GET")
.uri("https://api.spotify.com/v1/search?q=system+overload")
.header("artist", "smash stereo")
.body(())
.unwrap();
println!("{:?}", request);
}
其输出:
Request { method: GET, uri: https://api.spotify.com/v1/search?q=system+overload, version: HTTP/1.1, headers: {"artist": "smash stereo"}, body: () }