Avatar ·

如何在Go中发送HTTP请求?

大家好!请告诉我如何在Go中正确执行HTTP GET请求并获取服务器响应。我是这门语言的新手,在尝试从外部API获取数据时遇到了问题。

目前我使用标准库net/http,但我的代码似乎卡住了,没有返回结果。以下是我尝试过的代码:

package main

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

func main() {
    resp, err := http.Get("https://api.example.com/data")
    if err != nil {
        fmt.Println("错误:", err)
        return
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("读取错误:", err)
        return
    }

    fmt.Println(string(body))
}

问题在于程序只是挂起没有输出,我既看不到错误也看不到数据。我已经确认URL是有效的(通过curl测试一切正常)。我怀疑问题可能在于缺少超时设置。