猿问

在 Go 中请求多个 URL

我有以下 Go 程序:https : //play.golang.org/p/-TUtJ7DIhi


package main


import (

    "encoding/json"

    "fmt"

    "io/ioutil"

    "net/http"

    "strconv"

)


func main() {

    body, err := get("https://hacker-news.firebaseio.com/v0/topstories.json")


    if err != nil {

        panic(err)

    }


    var ids [500]int

    if err = json.Unmarshal(body, &ids); err != nil {

        panic(err)

    }


    var contents []byte

    for _, value := range ids[0:10] {

        body, err := get("https://hacker-news.firebaseio.com/v0/item/" + strconv.Itoa(value) + ".json")


        if err != nil {

            fmt.Println(err)

        } else {

            contents = append(contents, body...)

        }

    }


    fmt.Println(contents)

}


func get(url string) ([]byte, error) {

    res, err := http.Get(url)

    if err != nil {

        return nil, err

    }


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

    res.Body.Close()


    return body, err

}

运行时,它会EOF json在迭代获取请求上引发错误,但是当我单独点击 URL 时,它们似乎没有格式错误。


我错过了什么?


慕桂英3389331
浏览 253回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答