[英]Get net/http: TLS handshake timeout golang
需要你的帮助
package main
import (
"log"
"net/http"
)
func main() {
client := &http.Client{}
_, err := client.Get("https://www.marathonbet.com/en/")
if err != nil {
log.Fatalf("%s\n", err)
}
}
这总是返回: Get https://www.marathonbet.com/en/: net/http: TLS handshake timeout exit status 1
我尝试:它并使用此库并执行它但对我没有任何作用..所以,请帮我。
更新:在带有请求的 Python 2.7 中,这有效:
s = Session()
r = s.get('https://www.marathonbet.com/en/, verify=False)
但我需要用 go(
UPD:修正:只需replase https://www.marathonbet.com/en/
到https://87.117.250.213/en/
并添加skip verify
。 谢谢大家的帮助。
这是对正在发生的事情的更详细的解释。 当您调用域时,您的 HTTP 客户端会调用 DNS 服务器。 DNS 服务器以目标服务器的 IP 响应。 此时一切正常。
如果是 HTTPS 连接,则它会启动 TLS 握手。 这是它的工作原理。
这就是您遇到问题的地方。 请求已发送,但服务器没有正确回答(或根本没有回答)。 它可能是由许多因素引起的,例如服务器:
通过提供skip verify
选项并提供明确的 IP 地址,您可以跳过我上面描述的所有内容。 它的意思是:
如果不进行更深入的调查,很难找出根本原因。 如果您想了解发生了什么,请按照@Flowchartsman 的建议使用 httptrace
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.