使用 http 在 golang 中读取 FederationMetadata.xml

我正在尝试使用以下方式在 golan 中使用 http 获取 FederationMetadata.xml。


response, err := client.Get("https://domainc.local/FederationMetadata/2007-06/FederationMetadata.xml"). 

响应正文作为所有数值返回(见下文),而不是 XML 格式。但是我可以从 chrome 下载这个文件作为 xml 文件。


61 34 117 114 110 58 111 97 115 105 115 58 110 97 109 101 115 58

116 99 58 83 65 77 76 58 50 46 48 58 97 115 115 101 114 116 105 111

110 34 47 62 60 65 116 116 114 105 98 117 116 101 32 78 97 109 101

61 34 104 116 116 112 58 47 47 115 99 104 101 109 97 115 46 109

105 99 114 111 115 111 102 116 46 99 111 109 47 50 48 49 50 47 48

49 47 114 101 113 117 101 115 116 99 111 110 116 101 120 116 47 99 10

代码:


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

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

response, err := client.Get("https://domainc.local/FederationMetadata/2007-06/FederationMetadata.xml")

if err != nil {

    os.Exit(1)

} else {

    defer response.Body.Close()

    fmt.Println(response.Body)

    responseXML, err := ioutil.ReadAll(response.Body)

    if err != nil {

        fmt.Printf("%s", err)

        os.Exit(1)

    }

    fmt.Println(responseXML)

}


犯罪嫌疑人X
浏览 236回答 2
2回答

达令说

responseXML是字节片 (a []byte)。您必须将其转换为字符串以打印它,或者使用:fmt.Println(string(responseXML))或通过%sPrintf 格式字符串:fmt.Printf("This is the response: \n%s\n", responseXML)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go