golang實現https請求跳過證書驗證
阿新 • • 發佈:2018-12-19
請求 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 給跳過