x509: certificate signed by unknow n authority

最近的go项目遇见这个问题,记录一下,问题起因是调用别的项目组接口时,接口由http更改为https,之前调试通过的调用接口推送信息方式返回的request请求报错如下:x509: certificate signed by unknow n authority

几番查找之后修改完毕,更改如下

1.引入 "crypto/tls" 包

2.定义TLSClientConfig,忽略证书校验

原写法

//发起请求
func Request(url string, header http.Header, method string, params io.Reader) (status string, resHead http.Header, body []byte, res *http.Response, err error) {

	defer func() { //必须要先声明defer,否则不能捕获到panic异常
		if err := recover(); err != nil {
			fmt.Println("request中panic了,消息:", err) //这里的err其实就是panic传入的内容
			return
		}
	}()

	tr := &http.Transport{
		DisableKeepAlives: true,
	}
	client := &http.Client{}
	req, err := http.NewRequest(method, url, params)

	if err != nil {
		//fmt.Println(err)
		return
	}
	req.Header = header
	res, err = client.Do(req)
	if err != nil {
		return
	}
	defer func() {
		if err = res.Body.Close(); err != nil {
			logger.Error("request 请求中返回的body关闭失败:" + err.Error())
		}
	}()
	bodyByte, err := ioutil.ReadAll(res.Body)
	return res.Status, res.Header, bodyByte, res, nil
}

更改代码段即可

tr := &http.Transport{
		DisableKeepAlives: true,
		TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
	}

client := &http.Client{Transport: tr}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值