方法一,使用匹配的证书方法:
rootCA := `*.pem 文件的内容`
roots := x509.NewCertPool()
ok := roots.AppendCertsFromPEM([]byte(rootCA))
if !ok {
panic("failed to parse root certificate")
}
client = &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{RootCAs: roots},
}
}
方法二,跳过安全检查:
get请求:
package main
import (
"crypto/tls"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
resp, err := client.Get("https://localhost:8081")
if err != nil {
fmt.Println("error:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
post请求:
type TokenRsp struct {
Expires int64 `json:"expires,omitempty;"`
Msg string `json:"msg,omitempty"`
Request_id string `json:"request_id,omitempty"`
Ret int `json:"ret,omitempty"`
Auth_token string `json:"auth_token,omitempty"`
}
func GetToken(args *TokenReq, pwd string) string{
sign := "aaaa"
args.Sign = sign
args.Account = Account
js, _ := json.Marshal(args)
fmt.Println(string(js))
client := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
},
}
request, err := http.NewRequest("POST", "https://localhost:8081", bytes.NewBuffer(js))
request.Header.Set("Content-Type", "application/json")
response, err := client.Do(request)
if err != nil {
fmt.Println("请求错误")
return ""
}
body, _ := ioutil.ReadAll(response.Body)
fmt.Println("返回结果" + string(body))
}
版权声明:本文为QQ6550523原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。