Alternative TLS implementation in Go
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

42 linhas
677 B

  1. package main
  2. import (
  3. "log"
  4. "net"
  5. "net/http"
  6. "os"
  7. "github.com/bifurcation/mint"
  8. )
  9. func main() {
  10. c := &mint.Config{
  11. PSKs: &mint.PSKMapCache{},
  12. }
  13. tr := &http.Transport{
  14. DialTLS: func(network, addr string) (net.Conn, error) {
  15. return mint.Dial(network, addr, c)
  16. },
  17. DisableKeepAlives: true,
  18. }
  19. client := &http.Client{Transport: tr}
  20. resp, err := client.Get("https://" + os.Args[1])
  21. if err != nil {
  22. log.Fatal(err)
  23. }
  24. if err := resp.Write(os.Stdout); err != nil {
  25. log.Fatal(err)
  26. }
  27. // Resumption
  28. resp, err = client.Get("https://" + os.Args[1])
  29. if err != nil {
  30. log.Fatal(err)
  31. }
  32. if err := resp.Write(os.Stdout); err != nil {
  33. log.Fatal(err)
  34. }
  35. }