请求 https 网站跳过证书验证
在用 Golang 发起https请求时出现以下错误,因为证书是未经过认证的,而是自己创建的。
错误信息:Get https://192.169.0.199:8080/Versty/app: x509: certificate signed by unknown authority
所有这里需要忽略检查证书,以下是部分代码。
import (
"crypto/tls"
"net/http"
"net/http/cookiejar"
)
...
//跳过证书验证
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
//http cookie接口
cookieJar, _ := cookiejar.New(nil)
c := &http.Client{
Jar: cookieJar,
Transport: tr,
}
c.Get("https://192.169.0.199:8080/Versty/app: ")
...
例子
func Test(req *http.Request,result interface{}) error {
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport:tr}
resp,err := client.Do(req)
if err != nil{
fmt.Printf("Fail exec http client Do,err:%s\n",err.Error())
return err
}
...
}
关键是在上面代码中 tr 变量中将 tls.Config 给跳过