猿问

未从 HTTP Get 方法获得响应

在 go 中实现了从给定 URL 获取信息的逻辑,问题是 net/http 的响应为空。


package main


import (

    "fmt"

    "io/ioutil"

    "net/http"

)


func main() {

    resp, err := http.Get("https://azure.microsoft.com/en-us/")

    if err != nil {

        // handle error

    }

    body, err := ioutil.ReadAll(resp.Body)

    bodyString := string(body)

    fmt.Print(bodyString)

    fmt.Printf("%v %v", body, err)

}

输出:它返回空切片而不是返回 HTML 内容


[]byte{} <nil>

我正在使用 Go 版本 1.14.3。


MYYA
浏览 161回答 1
1回答

守着一只汪

当您设置 User-Agent 标头时,这似乎有效:package mainimport (&nbsp; &nbsp; "fmt"&nbsp; &nbsp; "io/ioutil"&nbsp; &nbsp; "net/http")func main() {&nbsp; &nbsp; client := &http.Client{}&nbsp; &nbsp; req, err := http.NewRequest("GET", "https://azure.microsoft.com/en-us/", nil)&nbsp; &nbsp; req.Header.Add("User-Agent", "Mozilla")&nbsp; &nbsp; resp, err := client.Do(req)&nbsp; &nbsp; if err != nil {&nbsp; &nbsp; &nbsp; &nbsp; fmt.Println(err)&nbsp; &nbsp; }&nbsp; &nbsp; body, err := ioutil.ReadAll(resp.Body)&nbsp; &nbsp; bodyString := string(body)&nbsp; &nbsp; fmt.Print(bodyString)}
随时随地看视频慕课网APP

相关分类

Go
我要回答