Go http请求报错x509 certificate signed by unknown authority

报错

在Go中POST请求时报错

1
x509: certificate signed by unknown authority

即无法检验证书。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
package main

import (
	"net/http"
)

func Handle() {
  
  ...
  
  _, err := http.Post(
		...
  )
  
  ...
  
}

解决

跳过校验即可。此处引入"crypto/tls"

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main

import (
  "crypto/tls"
	"net/http"
)

func Handle() {
  
  ...
  
  tr := &http.Transport{
		TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
	}

	client := &http.Client{
		Timeout:   15 * time.Second,
		Transport: tr,
	}
  
  _, err := client.Post(
		...
  )
  
  ...
}
Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy