在Golang中获取请求

时间:2019-10-24 08:16:18

标签: http go

这是我尝试使用的教科书示例。

结果是“ BAD”,这意味着resp为零,尽管我不知道如何解决它。

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)

func main() {

    resp, _ := http.Get("http://example.com/")

    if resp != nil {
        body, _ := ioutil.ReadAll(resp.Body)

        fmt.Println(string(body))

        resp.Body.Close()
    } else {
        fmt.Println("BAD")
    }
}

1 个答案:

答案 0 :(得分:2)

由于我无法重现该问题,因此建议您首先检查您的Internet设置。

此外,Go中的错误处理至关重要,因此将代码更改为以下代码,看看发出请求时是否遇到任何错误。

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)

func main() {

    resp, err := http.Get("http://example.com/")
    if err != nil {
        log.Fatalln(err)
    }

    if resp != nil {
        body, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            log.Fatalln(err)
        }

        fmt.Println(string(body))

        resp.Body.Close()
    } else {
        fmt.Println("BAD")
    }
}