尝试获取网页: tr := &http.Transport{ TLSHandshakeTimeout: 30 * time.Second, DisableKeepAlives: true, } client := &http.Client{Transport: tr} req, err := http.NewRequest("GET", "https://www.fl.ru/", nil) if err != nil { log.Fatalf("%s\n", err); } resp, err := client.Do(req); if err != nil { log.Fatalf("%s\n", err); } defer resp.Body.Close()获取https://www.fl.ru/:远程错误:握手失败。如果我尝试获取另一个 HTTPS 页面 - 一切正常。
1 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
该服务器仅支持少数弱密码:
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) DH 1024 bits (p: 128, g: 1, Ys: 128) FS WEAK
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 1024 bits (p: 128, g: 1, Ys: 128) FS WEAK
TLS_RSA_WITH_RC4_128_SHA (0x5) WEAK
如果您确实必须连接到该服务器,Go 确实支持列表中的最后一个密码,但默认情况下不支持。使用新的 tls.Config 创建一个客户端,指定您想要的密码:
t := &http.Transport{
Proxy: http.ProxyFromEnvironment,
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
TLSClientConfig: &tls.Config{
CipherSuites: []uint16{tls.TLS_RSA_WITH_RC4_128_SHA},
},
}
- 1 回答
- 0 关注
- 178 浏览
添加回答
举报
0/150
提交
取消