rttp_client
rttp_client
Additional features
rttp_client is a minimal http client, the default features only support http request, but you can add features to support https request, and async support
| name | comment |
|---|---|
| async | Async request features |
| tls-native | support https request use native-tls crate |
| tls-rustls | support https request use rustls crate |
The default use
[]
= "0.1"
With tls-native
[]
= { = "0.1", = ["tls-native"] }
With tls-rustls
[]
= { = "0.1", = ["tls-rustls"] }
Async support
[]
= { = "0.1", = ["async"] }
Full support
[]
= { = "0.1", = ["async", "tls-native"] }
Important
tls-native and tls-rustls only support choose on features, do not same to use.
Examples
GET
# use HttpClient;
new.get
.url
.emit;
POST
# use HttpClient;
new.post
.url
.emit;
Header
# use HttpClient;
# use Header;
# use HashMap;
let mut multi_headers = new;
multi_headers.insert;
new.get
.url
.header
.header
.header
.header
.emit;
Para
# use HttpClient;
# use Para;
# use HashMap;
let mut multi_para = new;
multi_para.insert;
new.post
.url
.para
.para
.para
.para
.emit;
Url
# use HttpClient;
# use RoUrl;
new.get
.url
.emit;
POST JSON
# use HttpClient;
new.post
.url
.content_type
.raw
.emit;
Form && Upload file
# use HttpClient;
# use FormData;
# use HashMap;
let mut multi_form = new;
multi_form.insert;
new.post
.url
.para
.form
.form
.form
.form
.form
.form
.form
.form
.form
.form // Vec<u8>
.emit;
Para and form can be mixed, para does not support file parsing
Proxy
BASIC
# use HttpClient;
# use Proxy;
new.post
.url
.content_type
.raw
.proxy
.emit;
BASIC WITH AUTHORIZATION
# use HttpClient;
# use Proxy;
new.post
.url
.content_type
.raw
.proxy
.emit;
Auto redirect
# use HttpClient;
# use Config;
let response = new.post
.config
.get
.url
.emit;
assert!;
let response = response.unwrap;
assert_ne!;
Async
# use HttpClient;
#
let response = new.post
.url
.rasync
.await;