我正在尝试使用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)
}
答案 0 :(得分:0)
<h1>
是字节切片(responseXML
)。
您必须将其转换为字符串才能打印出来,或者使用:
[]byte
或通过Printf格式字符串中的fmt.Println(string(responseXML))
:
%s
答案 1 :(得分:0)
相反fmt.Printf("This is the response: \n%s\n", responseXML)
使用fmt.Println(response.Body)
,应打印:
fmt.Println(string(response.Body))