rexpect 0.7.0

Interact with unix processes/bash the same way as pexpect or Don libes expect does
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use rexpect::spawn_stream;
use std::error::Error;
use std::net::TcpStream;

fn main() -> Result<(), Box<dyn Error>> {
    let tcp = TcpStream::connect("www.google.com:80")?;
    let tcp_w = tcp.try_clone()?;
    let mut session = spawn_stream(tcp, tcp_w, Some(2000));
    session.send_line("GET / HTTP/1.1")?;
    session.send_line("Host: www.google.com")?;
    session.send_line("Accept-Language: fr")?;
    session.send_line("")?;
    session.exp_string("HTTP/1.1 200 OK")?;
    Ok(())
}