go中http设置忽略证书

在Go中,可以通过设置 http.ClientTransport属性来忽略证书验证。

默认情况下,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)
}
posted @ 2023-07-17 11:04  厚礼蝎  阅读(724)  评论(0编辑  收藏  举报