使用帶有UTLS 和HTTP 1.1 要求的代理
問題:
問題:問題:
如何連接使用HTTP 或SOCKS5 時使用隨機TLS 指紋的UTLS 到主機代理程式?
答案:
import ( "net/url" "github.com/magisterquis/connectproxy" "golang.org/x/net/proxy" ) var proxyString = "http://127.0.0.1:8080" dialTLS := func(network, addr string, _ *tls.Config) (net.Conn, error) { proxyURI, _ := url.Parse(proxyString) var proxyDialer proxy.Dialer switch proxyURI.Scheme { case "socks5": proxyDialer, _ = proxy.SOCKS5("tcp", proxyString, nil, proxy.Direct) case "http": proxyDialer, _ = connectproxy.New(proxyURI, proxy.Direct) } return proxyDialer.Dial("tcp", addr) }
要在 UTLS 和 HTTP 1.1請求中使用代理,您可以按照以下步驟操作:
1.建立代理撥號器:import ( "github.com/refraction-networking/utls" ) uconn := utls.UClient(conn, cfg, &utls.HelloRandomizedALPN)
2.撥打代理並建立UTLS 客戶端:
req := &http.Request{ Method: "GET", URL: &url.URL{Host: "www.example.com", Path: "/"}, Header: make(http.Header), } req.Proto = "HTTP/1.1" req.ProtoMajor = 1 req.ProtoMinor = 1 if err := req.Write(uconn); err != nil { return nil, err }
3。透過 UTLS 連線發送 HTTP 請求:
以上是如何對 UTLS 和 HTTP 1.1 請求使用代理程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!