请求 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 给跳过