1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
package main
import (
"flag"
"fmt"
"github.com/bifurcation/mint"
)
var addr string
var dtls bool
var dontValidate bool
func main() {
c := mint.Config{}
flag.StringVar(&addr, "addr", "localhost:4430", "port")
flag.BoolVar(&dtls, "dtls", false, "use DTLS")
flag.BoolVar(&dontValidate, "dontvalidate", false, "don't validate certs")
flag.Parse()
if dontValidate {
c.InsecureSkipVerify = true
}
network := "tcp"
if dtls {
network = "udp"
}
conn, err := mint.Dial(network, addr, &c)
if err != nil {
fmt.Println("TLS handshake failed:", err)
return
}
request := "GET / HTTP/1.0\r\n\r\n"
conn.Write([]byte(request))
response := ""
buffer := make([]byte, 1024)
var read int
for err == nil {
read, err = conn.Read(buffer)
fmt.Println(" ~~ read: ", read)
response += string(buffer)
}
fmt.Println("err:", err)
fmt.Println("Received from server:")
fmt.Println(response)
}
|