使用跳过证书获取https golang

时间:2018-08-27 05:35:57

标签: xml go https

我正在尝试使用golang从服务器获取xml文件。我的服务器地址是https://192.168.0.xxxx。我正在使用

  

How to do a https request with bad certificate?

但是抛出错误

  

不受支持的公共dsa.key

使用curl可以正常工作

var someStruct SomeStruct
cmd := exec.Command("curl.exe", "-k", "someHttps")
cmd.Dir = "C:/Users/LolakovF/go/src/hpapi"
out, err := cmd.Output()
if err != nil {
    fmt.Println(err)
    return
}

xml.Unmarshal(out, &someStruct )

这里是引发错误的代码

  var someStruct SomeStruct
    tr := http.DefaultTransport.(*http.Transport)
    tr.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}

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

    response, err := client.Get(httpsUrl)

    if err != nil {
        fmt.Println(err)
        return
    }

    defer response.Body.Close()
    body, _ := ioutil.ReadAll(response.Body)
    xml.Unmarshal(body, &someStruct )

我可以不使用curl来获得响应吗?

0 个答案:

没有答案