有人可以帮助我在 go 中使用 uTls 修复我的 TLS 吗?每当我尝试对https://www.fedex.com/的 GET 请求时,我都会得到:Get "https://www.fedex.com/": uTlsConn.Handshake() error: remote error: tls: internal error这是我的代码:func tls_connection(URL string) *http.Response { cookieJar, _ := cookiejar.New(nil) client := &http.Client{ Jar: cookieJar} tlsConn.SetSNI(URL) req, err := http.NewRequest("GET", URL, nil) req.Header.Add("user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36") // the client.do wraps the request resp, err := client.Do(req) if err != nil { fmt.Println(err) } else { fmt.Println(resp.StatusCode) body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) } return resp}
1 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
tlsConn.SetSNI(URL)
SNI 的值应该是主机名 ( www.fedex.com
) 而不是 URL ( https://www.fedex.com
)。这有效:
u,_ := url.Parse(URL) tlsConn.SetSNI(u.Host)
- 1 回答
- 0 关注
- 121 浏览
添加回答
举报
0/150
提交
取消