1use monoio::{
2 io::{AsyncReadRent, AsyncWriteRentExt},
3 net::TcpStream,
4};
5use monoio_native_tls::TlsConnector;
6use native_tls::TlsConnector as NativeTlsConnector;
7
8#[monoio::main]
9async fn main() {
10 let connector = NativeTlsConnector::builder().build().unwrap();
11 let connector = TlsConnector::from(connector);
12
13 let stream = TcpStream::connect("rsproxy.cn:443").await.unwrap();
14 println!("rsproxy.cn:443 connected");
15
16 let mut stream = connector.connect("rsproxy.cn", stream).await.unwrap();
17 println!("handshake success");
18
19 let content = b"GET / HTTP/1.0\r\nHost: rsproxy.cn\r\n\r\n";
20 let (r, _) = stream.write_all(content).await;
21 r.expect("unable to write http request");
22 println!("http request sent");
23
24 let buf = vec![0_u8; 64];
25 let (r, buf) = stream.read(buf).await;
26 r.expect("unable to read http response");
27 let resp = String::from_utf8(buf).unwrap();
28 println!("http response recv: \n\n{}", resp);
29}