所以我查找了http crate docs并使用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发送了请求,跟在starter guide之后,但http crate对我来说似乎更容易理解……至少只要我不必发送我的请求: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: () }