使用 uTls 时如何修复 www.fedex.com 上的 TLS 错误?
How to fix TLS error on www.fedex.com when using uTls?
有人可以帮助我使用 uTls in go 修复我的 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
}
tlsConn.SetSNI(URL)
SNI 的值应该是主机名 (www.fedex.com
) 而不是 URL (https://www.fedex.com
)。这有效:
u,_ := url.Parse(URL)
tlsConn.SetSNI(u.Host)
有人可以帮助我使用 uTls in go 修复我的 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
}
tlsConn.SetSNI(URL)
SNI 的值应该是主机名 (www.fedex.com
) 而不是 URL (https://www.fedex.com
)。这有效:
u,_ := url.Parse(URL)
tlsConn.SetSNI(u.Host)