connect/
connect.rs

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}