請求 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 給跳過