如何在处理函数中使用 http.Get 请求

如何在处理函数中发出 http.Get 请求?例如,这个简单的代码“应该”在 localhost:8080 浏览器中返回空白页面,但它会出错。我在学校错过了什么?


package main


import "net/http"


func index(w http.ResponseWriter, r *http.Request) {

    _, err := http.Get("www.google.com")

    if err != nil {

        panic(err)

    }

}


func main() {

    http.HandleFunc("/", index)

    http.ListenAndServe(":8080", nil)

}



四季花海
浏览 79回答 1
1回答

江户川乱折腾

问题是您应该在函数中使用协议(例如https://)Get:_, err := http.Get("https://www.google.com")您原始代码中的错误是Get www.google.com: unsupported protocol scheme "".http.Get()需要一个 URL,而www.google.com不是一个 URL;URL 以scheme开头。尽管在浏览器中输入“www.google.com”很常见,但它仍然不是完整的 URL;友好的浏览器会在发出请求前自动添加“http://”或“https://”。 http.Get()不会那样做;它期望以格式良好的 URL 开头。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go