github.com/codingeasygo/util@v0.0.0-20231206062002-1ce2f004b7d9/tools/conn/conn.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  	"net"
     7  	"net/url"
     8  	"os"
     9  )
    10  
    11  func main() {
    12  	if len(os.Args) < 2 {
    13  		fmt.Printf("Usage: conn uri\n")
    14  		os.Exit(1)
    15  	}
    16  	u, err := url.Parse(os.Args[1])
    17  	if err != nil {
    18  		fmt.Printf("parse uri fail with %v\n", err)
    19  		os.Exit(1)
    20  		return
    21  	}
    22  	conn, err := net.Dial(u.Scheme, u.Host)
    23  	if err != nil {
    24  		fmt.Printf("conn uri fail with %v\n", err)
    25  		os.Exit(1)
    26  		return
    27  	}
    28  	go io.Copy(conn, os.Stdin)
    29  	io.Copy(os.Stdout, conn)
    30  }