在Go中,可以通过设置 http.Client
的 Transport
属性来忽略证书验证。
默认情况下,http.DefaultClient
使用的是 http.DefaultTransport
,它对证书进行了验证。
但是你可以创建一个自定义的 Transport
并将其用作客户端的 Transport
,以忽略证书验证。
package main
import (
"crypto/tls"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 创建一个自定义的Transport,并禁用证书验证
tr := &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
}
// 创建一个基于自定义Transport的HTTP客户端
client := &http.Client{
Transport: tr,
}
// 发送GET请求
resp, err := client.Get("https://example.com")
if err != nil {
fmt.Println("请求失败:", err)
return
}
defer resp.Body.Close()
// 将响应结果以流的方式显示在输出端
io.Copy(os.Stdout, resp.Body)
}
标签:http,err,自定义,证书,resp,go,Transport
From: https://www.cnblogs.com/guangdelw/p/17559478.html