我是一名GO新手。我正在尝试将curl命令转换为GOlang。
curl --cacert "pki/ca.crt" \
-H "Authorization: Bearer my_bearer_token" \
--insecure \
--max-time 5 --fail --output /dev/null --silent \
"https://myserver/status"; do
这就是我所拥有的:
mTLSConfig := &tls.Config {
CipherSuites: []uint16 {
tls.TLS_RSA_WITH_RC4_128_SHA,
tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
tls.TLS_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA,
tls.TLS_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
},
InsecureSkipVerify: true, // --insecure
}
mTLSConfig.PreferServerCipherSuites = true
mTLSConfig.MinVersion = tls.VersionTLS10
mTLSConfig.MaxVersion = tls.VersionTLS10
certs := x509.NewCertPool()
certs.AppendCertsFromPEM([]byte(caCert))
mTLSConfig.RootCAs = certs
tr := &http.Transport{
TLSClientConfig: mTLSConfig,
}
client := &http.Client{Transport: tr}
req, _ := http.NewRequest("GET", "https://myserver/status", nil)
req.Header.Set("Authorization", fmt.Sprintf("Bearer my_bearer_token"))
resp, err := client.Do(req)
glog.V(4).Info(resp, err)
if err != nil {
return true
}
return false
我做得对吗?
答案 0 :(得分:0)
您要查找的软件包是https://golang.org/pkg/crypto/x509
建立证书后,您就可以在其他REST客户端中使用它,例如普通休息, Resty 或您正在使用的任何其他客户端。
顺便说一句:我正在制作一系列有关Golang开发的视频。如果需要,可以在 this form 中添加您要我介绍的主题,并确保将它们全部包含在课程中。