需要你的帮助
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
我试试:
it
并使用this lib
做it {{3}}
但没有什么对我有用..
所以,请帮助我。
更新: 在带有请求的Python 2.7中,这有效:
s = Session()
r = s.get('https://www.marathonbet.com/en/, verify=False)
但我需要去做(
UPD:
修复:只需将https://www.marathonbet.com/en/
重新添加到https://87.117.250.213/en/
并添加skip verify
即可。
求你帮忙。
答案 0 :(得分:0)
这是对正在发生的事情的更详细的解释。当您调用域时,您的 HTTP 客户端会调用 DNS 服务器。 DNS 服务器以目标服务器的 IP 响应。此时一切正常。
如果是 HTTPS 连接,则开始 TLS 握手。这是它的工作原理。
这就是您遇到问题的地方。请求已发送,但服务器没有正确回答(或根本没有回答)。可能是服务器等多种因素造成的:
通过提供 skip verify
选项并提供显式 IP 地址,您可以跳过我上面描述的所有内容。这意味着:
如果不进行更深入的调查,很难找出根本原因。如果您想了解发生了什么,请使用 @Flowchartsman 建议的 httptrace
答案 1 :(得分:-2)
禁用验证
package main
import (
"crypto/tls"
"fmt"
"io/ioutil"
"net/http"
"os"
)
func main() {
// Create New http Transport
transCfg := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, // disable verify
}
// Create Http Client
client := &http.Client{Transport: transCfg}
// Request
response, err := client.Get("https://www.marathonbet.com/en/")
// Check Error
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// Close After Read Body
defer response.Body.Close()
// Read Body
data, err := ioutil.ReadAll(response.Body)
// Check Error
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// Print response html : conver byte to string
fmt.Println(string(data))
}