Golang:get.http(url)没有回复

时间:2015-07-22 09:23:04

标签: xml http url go

http://plg1.yumenetworks.com/dynamic_preroll_playlist.vast2xml?domain=2210cZDclAme

当我使用http.Get从服务器调用上面的链接时,我得到了这个响应,一个空的XML:

<?xml version="1.0" encoding="UTF-8"?>
<VAST version="2.0">

</VAST>

但是,当我从浏览器中调用它时,它使用有效的XML进行响应,当我从本地服务器调用链接时,它也能正常工作。

func getXmlVast(url string) (string, error) {

        resp, err := http.Get(url)
        if err != nil {
            return "", err
        }
        defer resp.Body.Close()
        // read xml http response
        xmlData, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            return "", err
        }
        return string(xmlData), nil
    }

有没有人有想法。

提前谢谢

1 个答案:

答案 0 :(得分:0)

我认为您的回复是空的,因为您尚未指定响应标头类型。尝试添加:

resp, err := http.Get(url)
resp.Header.Add("Accept", "application/xml")
resp.Header.Add("Content-Type","application/xml; charset=utf-8")

if err != nil {
     return "", err
}

也许这会解决你的问题。