5个版本
使用旧的Rust 2015
0.0.5 | 2017年8月30日 |
---|---|
0.0.4 | 2017年7月17日 |
0.0.3 | 2017年7月16日 |
0.0.2 | 2017年7月16日 |
0.0.1 | 2017年7月16日 |
#76 in #https
120KB
1.5K SLoC
simplist: 简单直接的HTTP。
这是一个简单直接的HTTP库,当你只是想发个请求的时候!
这个crate是在hyper之上一个非常薄且轻量级的封装,并提供基于futures的异步、传统同步和异步await模型的API。
HttpClient
是制作HTTP请求的主要接口。
特性。
nightly
:当启用时,simplist将使用implFuture
在每个请求中进行约一次分配,这是一个实验性特性。在为稳定编译器编译时,simplist需要装箱一些future类型,因为它们不能被命名。scramble
:当启用时,simplist将编译出大多数错误信息,用空字符串替换它们。
如果你使用的是nightly编译器,请在你的cargo.toml
中启用nightly特性!
simplist = { version = "0.0.5", features = ["nightly"] }
示例。
异步,使用await语法。
use simplist::HttpClient;
let http = HttpClient::new(handle);
let html = await http.get_string("https://hinaria.com")?;
println!("{:?}", html);
// => "<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\"> ..."
异步,使用future回调。
use simplist::HttpClient;
let http = HttpClient::new(handle);
let future = http.get_string("https://hinaria.com").and_then(|html| {
println!("{:?}", html);
Ok(())
}).map_err(|_| ());
handle.spawn(future);
// => "<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\"> ..."
同步。
use simplist::HttpSyncClient;
let http = HttpSyncClient::new(handle);
let html = http.get_string("https://hinaria.com")?;
println!("{:?}", html);
// => "<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\"> ..."
依赖项
~8.5MB
~146K SLoC